Component interface identification and behavioral model discovery from software execution data

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

4 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

Fingerprint

Identification (control systems)

Keywords

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

Cite this

Liu, C., van Dongen, B., Assy, N., & van der Aalst, W. M. P. (2018). Component interface identification and behavioral model discovery from software execution data. In Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018 (pp. 97-107). New York: Association for Computing Machinery, Inc. https://doi.org/10.1145/3196321.3196338
Liu, Cong ; van Dongen, Boudewijn ; Assy, Nour ; van der Aalst, Wil M.P. / Component interface identification and behavioral model discovery from software execution data. Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018. New York : Association for Computing Machinery, Inc, 2018. pp. 97-107
@inproceedings{29976091b3e94cd39c606ac7eeddc77e,
title = "Component interface identification and behavioral model discovery from software execution data",
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.",
keywords = "empirical evaluation, interface behavioral model, interface identification, process mining, software execution data",
author = "Cong Liu and {van Dongen}, Boudewijn and Nour Assy and {van der Aalst}, {Wil M.P.}",
year = "2018",
month = "5",
day = "28",
doi = "10.1145/3196321.3196338",
language = "English",
isbn = "978-1-4503-5714-2",
pages = "97--107",
booktitle = "Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018",
publisher = "Association for Computing Machinery, Inc",
address = "United States",

}

Liu, C, van Dongen, B, Assy, N & van der Aalst, WMP 2018, Component interface identification and behavioral model discovery from software execution data. in Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018. Association for Computing Machinery, Inc, New York, pp. 97-107, ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018, collocated with the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, 27/05/18. https://doi.org/10.1145/3196321.3196338

Component interface identification and behavioral model discovery from software execution data. / Liu, Cong; van Dongen, Boudewijn; Assy, Nour; van der Aalst, Wil M.P.

Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018. New York : Association for Computing Machinery, Inc, 2018. p. 97-107.

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

TY - GEN

T1 - Component interface identification and behavioral model discovery from software execution data

AU - Liu, Cong

AU - van Dongen, Boudewijn

AU - Assy, Nour

AU - van der Aalst, Wil M.P.

PY - 2018/5/28

Y1 - 2018/5/28

N2 - 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.

AB - 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.

KW - empirical evaluation

KW - interface behavioral model

KW - interface identification

KW - process mining

KW - software execution data

UR - http://www.scopus.com/inward/record.url?scp=85051638646&partnerID=8YFLogxK

U2 - 10.1145/3196321.3196338

DO - 10.1145/3196321.3196338

M3 - Conference contribution

AN - SCOPUS:85051638646

SN - 978-1-4503-5714-2

SP - 97

EP - 107

BT - Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018

PB - Association for Computing Machinery, Inc

CY - New York

ER -

Liu C, van Dongen B, Assy N, van der Aalst WMP. Component interface identification and behavioral model discovery from software execution data. In Proceedings - 2018 ACM/IEEE 26th International Conference on Program Comprehension, ICPC 2018. New York: Association for Computing Machinery, Inc. 2018. p. 97-107 https://doi.org/10.1145/3196321.3196338