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 条
  • [41] From System Specifications to Component Behavioral Models
    Krka, Ivo
    Edwards, George
    Brun, Yuriy
    Medvidovic, Nenad
    2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, : 315 - 318
  • [42] Integration of Simulink Models with Component-based Software Models
    Marian, Nicolae
    Top, Soren
    ADVANCES IN ELECTRICAL AND COMPUTER ENGINEERING, 2008, 8 (02) : 3 - 10
  • [43] On Abstractions of Software Component Models for Scientific Applications
    Bigot, Julien
    Bouziane, Hinde Lilia
    Perez, Christian
    Priol, Thierry
    EURO-PAR 2008 WORKSHOPS - PARALLEL PROCESSING, 2009, 5415 : 438 - +
  • [44] Domain-Specific Software Component Models
    Lau, Kung-Kiu
    Taweel, Faris M.
    COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, 5582 : 19 - 35
  • [45] Software Component Models from a Technical perspective
    Selamat, Mohd Hasan
    Sanatnama, Hamid
    Abd Ghani, Abdul Azim
    Atan, Rodziah
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2007, 7 (10): : 135 - 147
  • [46] Benchmark of software developed in different component models
    Perhac, Jan
    Bilanova, Zuzana
    Steingartner, William
    Piatko, Jergus
    IEEE 13TH INTERNATIONAL SYMPOSIUM ON APPLIED COMPUTATIONAL INTELLIGENCE AND INFORMATICS (SACI 2019), 2019, : 245 - 250
  • [47] A software component implementing a library of models for the simulation of pre-harvest rice grain quality
    Cappelli, G.
    Bregaglio, S.
    Romani, M.
    Feccia, S.
    Confalonieri, R.
    COMPUTERS AND ELECTRONICS IN AGRICULTURE, 2014, 104 : 18 - 24
  • [48] Quality Assurance of Component Based Software Systems
    Sharma, Ravi Kumar
    Gandhi, Parul
    PROCEEDINGS OF THE 10TH INDIACOM - 2016 3RD INTERNATIONAL CONFERENCE ON COMPUTING FOR SUSTAINABLE GLOBAL DEVELOPMENT, 2016, : 3850 - 3854
  • [49] An Embedded software component Quality Model - EQM
    Carvalho, Fernando
    Meira, Silvio R. L.
    Freitas, Bruno
    Carvalho, Nathalia
    PROCEEDINGS OF THE 2009 IEEE INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION, 2008, : 444 - +
  • [50] Extracting acyclic dependency models from quality standards for COTS software evaluation
    Morris, A. Terry
    Beling, Peter A.
    Journal of Aerospace Computing, Information and Communication, 2006, 3 (07): : 327 - 339