Published June 23, 2022 | Version 1.1

Mining for Framework Instantiation Pattern Interplays

Authors/Creators

Description

Software frameworks define generic application blueprints which can be instantiated into an application through application-specific instantiation actions such as overriding a method or providing an object that implements an interface. In case the framework’s documentation falls short, developers may use other instantiations of the same framework as a guide to the required instantiation actions. In this paper, we propose an automated approach to mining framework instantiation patterns from existing open-source instantiations.

The approach leverages a graph-based representation to capture the common ways of implementing instantiation actions as well as their interplays, so called instantiation interplays. As a case study, we mined for patterns in a set of 2,028 Java projects that instantiate four of the most popular Java frameworks. We also classify the extracted interplays according to the different contexts in which they occur. We found that our approach discovers relevant practices and interplays that are not covered by previous approaches. Our results will allow developers to have a better understanding of the frameworks they instantiate.

Files

analysis_Distribution of the number of interplays present in the instantiation graphs and patterns for each framework.txt

Files (709.1 kB)

Name Size Download all
md5:815f64ada5eab6faa59fb2ca44e57f76
4.1 kB Preview Download
md5:3f8bfd9b7d2489fd8f8ba9720d80c5fe
3.8 kB Preview Download
md5:d2af84922afb485390d9fca4acbe5623
1.4 kB Preview Download
md5:b8bd9786c29441b2637a9f247f270742
1.7 kB Preview Download
md5:cb94a9226a45fd72134ab43247850e87
858 Bytes Preview Download
md5:d6de8eeaba181d46a3fb132864aac1a4
6.2 kB Preview Download
md5:c0c04b122d0e6b2a151e3e8a9520d022
828 Bytes Preview Download
md5:8ef7828e545f0dc5c1448a911074e0d6
33.1 kB Preview Download
md5:9ff8d05bb843917f2fdf3206f6a32156
366.9 kB Preview Download
md5:9da337c6d224ff0123a13b8533c2fcd0
1.0 kB Preview Download
md5:dfb32d409011c55d0bbf0f050ac72746
150 Bytes Preview Download
md5:53d1afb93285085f97002cd6567dd839
63 Bytes Preview Download
md5:777472535b20469fdf9d3d4adb182f48
296 Bytes Preview Download
md5:f4b45dbf38103374d27a758e986262a1
580 Bytes Preview Download
md5:757d46a4da25eae9d75e26316ba43759
1.1 kB Preview Download
md5:cf87af42ca8f85faadbf7182c92b6dd9
9.8 kB Preview Download
md5:61a07d3fb5dba982b1d243f2d23d6582
628 Bytes Preview Download
md5:fb2a5a72b9d3502b398c123eeb3c84bf
356 Bytes Preview Download
md5:2b4c22acfd3357a97515d3b88c7195c8
5.7 kB Preview Download
md5:a1027e516bdb5d0be637873da06e7ce1
1.8 kB Preview Download
md5:09ad3524c055a76a2cc1704169d5db87
36.6 kB Preview Download
md5:ceeb2fc56fc59c6421b4112eb5750bfc
208.9 kB Preview Download
md5:c2927aa8ca7e1b0f2a8510dc507193b4
366 Bytes Preview Download
md5:d5df0ece9459b47e5beabc69db7a7408
148 Bytes Preview Download
md5:f9d596ba8454196e5854f5e1dd8e6d60
63 Bytes Preview Download
md5:c136f87d6df180bfe0cdd2bc6b6dc0cc
147 Bytes Preview Download
md5:f1c16b1faa0c2dd8a99790fb4d9f5113
403 Bytes Preview Download
md5:99a46bc1310031cd5987dfc36d631c23
1.9 kB Preview Download
md5:8d12a125716df4e554786c0f29f2d05c
19.8 kB Preview Download
md5:d0d17bdf02d433fdda21a808812395db
312 Bytes Preview Download