Discovery and Quality Evaluation of Software Component Behavioral Models

被引:8
|
作者
Liu, Cong [1 ]
机构
[1] Shandong Univ Technol, Sch Comp Sci & Technol, Zibo 255000, Peoples R China
基金
中国国家自然科学基金;
关键词
Software systems; Data mining; Petri nets; Data models; Analytical models; Runtime; Component behavioral model; component instance identification; hierarchical Petri nets; process discovery; software execution data; FRAMEWORK;
D O I
10.1109/TASE.2020.3008897
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Tremendous amounts of execution data are collected during software execution. These data provide rich information for software runtime behavior comprehension. The unstructured execution data may be too complex, involving multiple interleaved components and so on. Applying existing process discovery techniques results in spaghetti-like models with no clear structure and no valuable information that can be easily understood by end users. In this article, we start with the observation that a software system is composed of a group of components, and we use this information to decompose the problem into smaller independent ones by discovering a behavioral model per component. To this end, we first distill a software event log for each component from the raw software execution data. Then, we construct the hierarchical software event log by recursively applying caller-and-callee relation detection. Next, component behavioral models, represented as hierarchical Petri nets, are discovered by recursively applying existing process discovery techniques. To measure the quality of discovered models against the execution data, we transform hierarchical Petri nets to flat ones, and the quality metrics, e.g., fitness, precision, and complexity, are applied. All proposed approaches have been implemented in the open-source process mining toolkit ProM. Through the experimental evaluation using both synthetic software systems and open-source software systems, we illustrate that the proposed approach facilitates the discovery of more understandable and high-quality software behavioral models. Note to Practitioners-Software execution data record rich information on the runtime behavior of software systems. Discovering an overall behavioral model for the whole software system typically results in an extremely complicated model that hinders further comprehension and usage. With the observation that a software system is composed of a set of interacting components, this article considers the problem of discovering a behavioral model per component. The proposed techniques are implemented in the open-source process mining tool ProM, and experimental evaluations using both synthetic and real-life software systems have indicated their applicability. The proposed approaches are readily applicable to industrial-size software behavior comprehension.
引用
收藏
页码:1538 / 1549
页数:12
相关论文
共 50 条
  • [21] Models, algorithms, and software for data processing in measurements: Quality evaluation
    Granovsky, VA
    Siraya, TN
    6TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL XVI, PROCEEDINGS: COMPUTER SCIENCE III, 2002, : 451 - 456
  • [22] Inferring Software Behavioral Models with MapReduce
    Luo, Chen
    He, Fei
    Ghezzi, Carlo
    DEPENDABLE SOFTWARE ENGINEERING: THEORIES, TOOLS, AND APPLICATIONS, SETTA 2015, 2015, 9409 : 135 - 149
  • [23] Inferring software behavioral models with MapReduce
    Luo, Chen
    He, Fei
    Ghezzi, Carlo
    SCIENCE OF COMPUTER PROGRAMMING, 2017, 145 : 13 - 36
  • [24] Automatic Generation of Software Behavioral Models
    Lorenzoli, Davide
    Mariani, Leonardo
    Pezze, Mauro
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 501 - 510
  • [25] A Classification Framework for Software Component Models
    Crnkovic, Ivica
    Sentilles, Severine
    Vulgarakis, Aneta
    Chaudron, Michel R. V.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (05) : 593 - 615
  • [26] Behavioral economics in software quality engineering
    Hofman, Radoslaw
    EMPIRICAL SOFTWARE ENGINEERING, 2011, 16 (02) : 278 - 293
  • [27] Behavioral economics in software quality engineering
    Radosław Hofman
    Empirical Software Engineering, 2011, 16 : 278 - 293
  • [28] Component Behavior Discovery from Software Execution Data
    Liu, Cong
    van Dongen, Boudewijn
    Assy, Nour
    van der Aalst, Wil M. P.
    PROCEEDINGS OF 2016 IEEE SYMPOSIUM SERIES ON COMPUTATIONAL INTELLIGENCE (SSCI), 2016,
  • [29] Embedded Software Component Quality and Certification
    Carvalho, Fernando
    Meira, Silvio R. L.
    Freitas, Bruno
    Eulino, Joao
    2009 35TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, PROCEEDINGS, 2009, : 420 - +
  • [30] Towards a Software Component Quality Model
    Upadhyay, Nitin
    Despande, Bharat M.
    Agrawal, Vishnu P.
    ADVANCES IN COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, PT I, 2011, 131 : 398 - +