Abstract
Restructuring an object-oriented software system into a component-based one allows for a better understanding of the system and facilitates its future maintenance. A component-based architecture structures a software system in terms of its components and interactions where each component refers to a set of classes. To represent the architectural interaction, each component provides a set of interfaces. Existing interface identification approaches are mostly structure-oriented rather than function-oriented. In this paper, we propose an approach to identify interfaces of a component according to the functional interaction information that is recorded in the software execution data. In addition, we also discover the contract (represented as a behavioral model) for each identified interface by using process mining techniques to help understand how each interface actually works. All proposed approaches have been implemented in the open source process mining toolkit ProM. Using a set of software execution data containing more than 650.000 method calls generated from three software systems, we evaluate our approach against three existing interface identification approaches. The empirical evaluation demonstrates that our approach can discover more functionally consistent interfaces which facilitate the reconstruction of architectural models with higher quality.
Original language | English |
---|---|
Title of host publication | Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018 |
Place of Publication | New York |
Publisher | Association for Computing Machinery, Inc. |
Pages | 97-107 |
Number of pages | 11 |
ISBN (Print) | 978-1-4503-5714-2 |
DOIs | |
Publication status | Published - 28 May 2018 |
Event | ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018, collocated with the 40th International Conference on Software Engineering, ICSE 2018 - Gothenburg, Sweden Duration: 27 May 2018 → 28 May 2018 |
Conference
Conference | ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018, collocated with the 40th International Conference on Software Engineering, ICSE 2018 |
---|---|
Country/Territory | Sweden |
City | Gothenburg |
Period | 27/05/18 → 28/05/18 |
Keywords
- empirical evaluation
- interface behavioral model
- interface identification
- process mining
- software execution data