Component interface identification and behavioral model discovery from software execution data

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

    8 Citations (Scopus)

    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 languageEnglish
    Title of host publicationProceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery, Inc
    Pages97-107
    Number of pages11
    ISBN (Print)978-1-4503-5714-2
    DOIs
    Publication statusPublished - 28 May 2018
    EventACM/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 201828 May 2018

    Conference

    ConferenceACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018, collocated with the 40th International Conference on Software Engineering, ICSE 2018
    CountrySweden
    CityGothenburg
    Period27/05/1828/05/18

    Keywords

    • empirical evaluation
    • interface behavioral model
    • interface identification
    • process mining
    • software execution data

    Cite this