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 条
  • [31] An Evaluation of Feature Selection Techniques with Various Software Quality Classification Models
    Gao, Kehan
    Khoshgoftaar, Taghi M.
    Bullard, Lofton A.
    15TH ISSAT INTERNATIONAL CONFERENCE ON RELIABILITY AND QUALITY IN DESIGN, PROCEEDINGS, 2009, : 357 - +
  • [32] Models for software quality evaluation with fuzzy number intuitionistic fuzzy information
    Zhao, Yi-Ding
    Li, Zhi-Min
    Zhang, Xi-Guang
    JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2016, 31 (03) : 1977 - 1985
  • [33] Software Component Score: Measuring Software Component Quality Using Static Code Analysis
    Deniz, Berkhan
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2015, PT V, 2015, 9159 : 63 - 72
  • [34] A Review on Software Quality Models
    Singh, Brijendra
    Kannojia, Suresh Prasad
    2013 INTERNATIONAL CONFERENCE ON COMMUNICATION SYSTEMS AND NETWORK TECHNOLOGIES (CSNT 2013), 2013, : 801 - 806
  • [35] Software product quality models
    Ferenc, Rudolf
    Hegedús, Péter
    Gyimóthy, Tibor
    Evolving Software Systems, 2014, : 65 - 100
  • [36] A Study of Software Quality Models
    Davuluru, Tharashasank
    Medida, Jayapal
    Reddy, V. S. K.
    2014 INTERNATIONAL CONFERENCE ON ADVANCES IN ENGINEERING AND TECHNOLOGY RESEARCH (ICAETR), 2014,
  • [37] Towards a software component assembly evaluation
    Yahlali, Mebarka
    Chouarfia, Abdellah
    IET SOFTWARE, 2015, 9 (01) : 1 - 6
  • [38] Component quality assurance: Towards a software component certification process
    Alvaro, Alexandre
    de Almeida, Eduardo Santana
    Meira, Silvio Lemos
    IRI 2007: PROCEEDINGS OF THE 2007 IEEE INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION, 2007, : 134 - +
  • [39] Evaluation and Certifications for Component Packages Software
    Kim, Haeng-Kon
    SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING, 2009, 209 : 209 - 220
  • [40] SOFTWARE GENERATES ANALOG BEHAVIORAL-MODELS
    DONLIN, M
    COMPUTER DESIGN, 1992, 31 (06): : 123 - 123