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 条
  • [1] Software Component Quality Models: A Survey
    Rai, Munishwar
    Virk, Kiranpal Singh
    INTELLIGENT COMMUNICATION, CONTROL AND DEVICES, ICICCD 2017, 2018, 624 : 247 - 255
  • [2] Quantitative Evaluation of Software Component Behavior Discovery Approach
    Liu, Cong
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2021, E104D (01) : 117 - 120
  • [3] Automatic Discovery of Behavioral Models From Software Execution Data
    Liu, Cong
    IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, 2018, 15 (04) : 1897 - 1908
  • [4] A software component quality model: A preliminary evaluation
    Alvaro, Alexandre
    de Almeida, Eduardo Santana
    Meira, Silvio Lemos
    32ND EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA) - PROCEEDINGS, 2006, : 28 - +
  • [5] Evolution and evaluation of software quality models
    Ramamoorthy, CV
    14TH IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2002, : 543 - 545
  • [6] Component Interface Identification and Behavioral Model Discovery from Software Execution Data
    Liu, Cong
    van Dongen, Boudewijn
    Assy, Nour
    van der Aalst, Wil M. P.
    2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 97 - 107
  • [7] APPLICATION OF SOFTWARE QUALITY MODELS IN EVALUATION OF STUDY QUALITY
    Cevere, Rudite
    Sproge, Sandra
    PROBLEMS OF EDUCATION IN THE 21ST CENTURY, 2010, 21 : 37 - 46
  • [8] Metrics and models for cost and quality of component-based software
    Sedigh-Ali, S
    Ghafoor, A
    Paul, RA
    ISORC 2003: SIXTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2003, : 149 - 155
  • [9] COMPONENT BASED SOFTWARE ENGINEERING: QUALITY ASSURANCE MODELS, METRICS
    Kumar, Deepak
    Kumari, Meghna
    2015 4TH INTERNATIONAL CONFERENCE ON RELIABILITY, INFOCOM TECHNOLOGIES AND OPTIMIZATION (ICRITO) (TRENDS AND FUTURE DIRECTIONS), 2015,
  • [10] Software component models
    Lau, Kung-Kiu
    Wang, Zheng
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (10) : 709 - 724