A General Framework to Identify Software Components from Execution Data

Cong Liu, Boudewijn van Dongen, Nour Assy, Wil van der Aalst

2019

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.

Download


Paper Citation


in Harvard Style

Liu C., van Dongen B., Assy N. and van der Aalst W. (2019). A General Framework to Identify Software Components from Execution Data.In Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-375-9, pages 234-241. DOI: 10.5220/0007655902340241


in Bibtex Style

@conference{enase19,
author={Cong Liu and Boudewijn van Dongen and Nour Assy and Wil van der Aalst},
title={A General Framework to Identify Software Components from Execution Data},
booktitle={Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2019},
pages={234-241},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007655902340241},
isbn={978-989-758-375-9},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - A General Framework to Identify Software Components from Execution Data
SN - 978-989-758-375-9
AU - Liu C.
AU - van Dongen B.
AU - Assy N.
AU - van der Aalst W.
PY - 2019
SP - 234
EP - 241
DO - 10.5220/0007655902340241