Uittreksel
Restructuring an object-oriented software system into a component-based one allows for a better understanding of the software system and facilitates its future maintenance. A component-based architecture structures a software system in terms of components and interactions where each component refers to a set of classes. In reverse engineering, identifying components is crucial and challenging for recovering the component-based architecture. In this paper, we propose a general framework to facilitate the identification of components from software execution data. This framework is instantiated for various community detection algorithms, e.g., the Newman's spectral algorithm, Louvain algorithm, and smart local moving algorithm. The proposed framework has been implemented in the open source (Pro)cess (M)ining toolkit ProM. Using a set of software execution data containing around 1.000.000 method calls generated from four real-life software systems, we evaluated the quality of components identified by different community detection algorithms. The empirical evaluation results demonstrate that our approach can identify components with high quality, and the identified components can be further used to facilitate future software architecture recovery tasks.
Originele taal-2 | Engels |
---|---|
Titel | ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering |
Redacteuren | George Spanoudakis, Ernesto Damiani, Leszek Maciaszek, Leszek Maciaszek |
Uitgeverij | SCITEPRESS-Science and Technology Publications, Lda. |
Pagina's | 234-241 |
Aantal pagina's | 8 |
ISBN van elektronische versie | 9789897583759 |
DOI's | |
Status | Gepubliceerd - 5 mei 2019 |
Evenement | 14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019) - Heraklion, Crete, Griekenland Duur: 4 mei 2019 → 5 mei 2019 http://www.enase.org/?y=2019 |
Congres
Congres | 14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019) |
---|---|
Verkorte titel | ENASE2019 |
Land | Griekenland |
Stad | Heraklion, Crete |
Periode | 4/05/19 → 5/05/19 |
Internet adres |
Vingerafdruk
Citeer dit
}
A general framework to identify software components from execution data. / Liu, Cong; van Dongen, Boudewijn F.; Assy, Nour; van der Aalst, Wil M.P.
ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. redactie / George Spanoudakis; Ernesto Damiani; Leszek Maciaszek; Leszek Maciaszek. SCITEPRESS-Science and Technology Publications, Lda., 2019. blz. 234-241.Onderzoeksoutput: Hoofdstuk in Boek/Rapport/Congresprocedure › Conferentiebijdrage › Academic › peer review
TY - GEN
T1 - A general framework to identify software components from execution data
AU - Liu, Cong
AU - van Dongen, Boudewijn F.
AU - Assy, Nour
AU - van der Aalst, Wil M.P.
PY - 2019/5/5
Y1 - 2019/5/5
N2 - Restructuring an object-oriented software system into a component-based one allows for a better understanding of the software system and facilitates its future maintenance. A component-based architecture structures a software system in terms of components and interactions where each component refers to a set of classes. In reverse engineering, identifying components is crucial and challenging for recovering the component-based architecture. In this paper, we propose a general framework to facilitate the identification of components from software execution data. This framework is instantiated for various community detection algorithms, e.g., the Newman's spectral algorithm, Louvain algorithm, and smart local moving algorithm. The proposed framework has been implemented in the open source (Pro)cess (M)ining toolkit ProM. Using a set of software execution data containing around 1.000.000 method calls generated from four real-life software systems, we evaluated the quality of components identified by different community detection algorithms. The empirical evaluation results demonstrate that our approach can identify components with high quality, and the identified components can be further used to facilitate future software architecture recovery tasks.
AB - Restructuring an object-oriented software system into a component-based one allows for a better understanding of the software system and facilitates its future maintenance. A component-based architecture structures a software system in terms of components and interactions where each component refers to a set of classes. In reverse engineering, identifying components is crucial and challenging for recovering the component-based architecture. In this paper, we propose a general framework to facilitate the identification of components from software execution data. This framework is instantiated for various community detection algorithms, e.g., the Newman's spectral algorithm, Louvain algorithm, and smart local moving algorithm. The proposed framework has been implemented in the open source (Pro)cess (M)ining toolkit ProM. Using a set of software execution data containing around 1.000.000 method calls generated from four real-life software systems, we evaluated the quality of components identified by different community detection algorithms. The empirical evaluation results demonstrate that our approach can identify components with high quality, and the identified components can be further used to facilitate future software architecture recovery tasks.
KW - Community Detection
KW - Component Identification
KW - Empirical Evaluation
KW - Software Execution Data
UR - http://www.scopus.com/inward/record.url?scp=85067494479&partnerID=8YFLogxK
U2 - 10.5220/0007655902340241
DO - 10.5220/0007655902340241
M3 - Conference contribution
AN - SCOPUS:85067494479
SP - 234
EP - 241
BT - ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering
A2 - Spanoudakis, George
A2 - Damiani, Ernesto
A2 - Maciaszek, Leszek
A2 - Maciaszek, Leszek
PB - SCITEPRESS-Science and Technology Publications, Lda.
ER -