A general framework to identify software components from execution data

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    4 Citations (Scopus)
    2 Downloads (Pure)

    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.

    Original languageEnglish
    Title of host publicationENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering
    EditorsGeorge Spanoudakis, Ernesto Damiani, Leszek Maciaszek, Leszek Maciaszek
    PublisherSCITEPRESS-Science and Technology Publications, Lda.
    Pages234-241
    Number of pages8
    ISBN (Electronic)9789897583759
    DOIs
    Publication statusPublished - 5 May 2019
    Event14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019) - Heraklion, Crete, Greece
    Duration: 4 May 20195 May 2019
    http://www.enase.org/?y=2019

    Conference

    Conference14th International Conference on Evaluation of Novel Approaches to Software Engineering, (ENASE2019)
    Abbreviated titleENASE2019
    CountryGreece
    CityHeraklion, Crete
    Period4/05/195/05/19
    Internet address

    Keywords

    • Community Detection
    • Component Identification
    • Empirical Evaluation
    • Software Execution Data

    Fingerprint Dive into the research topics of 'A general framework to identify software components from execution data'. Together they form a unique fingerprint.

    Cite this