A general framework to identify software components from execution data

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

1 Downloads (Pure)

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-2Engels
TitelENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering
RedacteurenGeorge Spanoudakis, Ernesto Damiani, Leszek Maciaszek, Leszek Maciaszek
UitgeverijSCITEPRESS-Science and Technology Publications, Lda.
Pagina's234-241
Aantal pagina's8
ISBN van elektronische versie9789897583759
DOI's
StatusGepubliceerd - 5 mei 2019
Evenement14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019) - Heraklion, Crete, Griekenland
Duur: 4 mei 20195 mei 2019
http://www.enase.org/?y=2019

Congres

Congres14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019)
Verkorte titelENASE2019
LandGriekenland
StadHeraklion, Crete
Periode4/05/195/05/19
Internet adres

Vingerafdruk

Reverse engineering
Software architecture
Recovery

Citeer dit

Liu, C., van Dongen, B. F., Assy, N., & van der Aalst, W. M. P. (2019). A general framework to identify software components from execution data. In G. Spanoudakis, E. Damiani, L. Maciaszek, & L. Maciaszek (editors), ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering (blz. 234-241). SCITEPRESS-Science and Technology Publications, Lda.. https://doi.org/10.5220/0007655902340241
Liu, Cong ; van Dongen, Boudewijn F. ; Assy, Nour ; van der Aalst, Wil M.P. / A general framework to identify software components from execution data. ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. redacteur / George Spanoudakis ; Ernesto Damiani ; Leszek Maciaszek ; Leszek Maciaszek. SCITEPRESS-Science and Technology Publications, Lda., 2019. blz. 234-241
@inproceedings{3447d4e2cdb04c04938a6969281c2bb2,
title = "A general framework to identify software components from execution data",
abstract = "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.",
keywords = "Community Detection, Component Identification, Empirical Evaluation, Software Execution Data",
author = "Cong Liu and {van Dongen}, {Boudewijn F.} and Nour Assy and {van der Aalst}, {Wil M.P.}",
year = "2019",
month = "5",
day = "5",
doi = "10.5220/0007655902340241",
language = "English",
pages = "234--241",
editor = "George Spanoudakis and Ernesto Damiani and Leszek Maciaszek and Leszek Maciaszek",
booktitle = "ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering",
publisher = "SCITEPRESS-Science and Technology Publications, Lda.",

}

Liu, C, van Dongen, BF, Assy, N & van der Aalst, WMP 2019, A general framework to identify software components from execution data. in G Spanoudakis, E Damiani, L Maciaszek & L Maciaszek (redactie), ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda., blz. 234-241, Heraklion, Crete, Griekenland, 4/05/19. https://doi.org/10.5220/0007655902340241

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/CongresprocedureConferentiebijdrageAcademicpeer 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 -

Liu C, van Dongen BF, Assy N, van der Aalst WMP. A general framework to identify software components from execution data. In Spanoudakis G, Damiani E, Maciaszek L, Maciaszek L, redacteurs, ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda. 2019. blz. 234-241 https://doi.org/10.5220/0007655902340241