Towards Understandable Guards of Extracted State Machines from Embedded Software

被引:0
|
作者
Said, Wasim [1 ]
Quante, Jochen [1 ]
Koschke, Rainer [2 ]
机构
[1] Robert Bosch GmbH, Renningen, Germany
[2] Univ Bremen, Bremen, Germany
关键词
software reengineering; program understanding; static analysis; model mining; state machines; boolean minimization; embedded software; legacy code;
D O I
10.1109/saner.2019.8667983
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The extraction of state machines from complex software systems can be very useful to understand the behavior of a software, which is a prerequisite for other software activities, such as maintenance, evolution and reengineering. However, using static analysis to extract state machines from real-world embedded software often leads to models that cannot be understood by humans: The extracted models contain a high number of states and transitions and very complex guards (transition conditions). Integrating user interaction into the extraction process can reduce these state machines to an acceptable size. However, the problem of highly complex guards remains. In this paper, we present a novel approach to reduce the complexity of guards in such state machines to a degree that is understandable for humans. The conditions are reduced by a combination of heuristic logic minimization, masking of infeasible paths, and using transition priorities. The approach is evaluated with software developers on industrial embedded C code. The results show that the approach is highly effective in making the guards understandable. Our controlled experiment shows that guards reduced by our approach and presented with priorities are easier to understand than guards without priorities.
引用
收藏
页码:264 / 274
页数:11
相关论文
共 50 条
  • [41] Towards Migrating Security Policies of Virtual Machines in Software Defined Networks
    Sadri, Sahba
    Jarraya, Yosr
    Eghtesadi, Arash
    Debbabi, Mourad
    2015 1ST IEEE CONFERENCE ON NETWORK SOFTWARIZATION (NETSOFT), 2015,
  • [43] WebMonitoring Software System: Finite State Machines for Monitoring the Web
    Pajic, Vesna
    Vitas, Dusko
    Lazetic, Gordana Pavlovic
    Pajic, Milos
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2013, 10 (01) : 1 - 23
  • [44] Post-Processing the Class Panel Graphs: Towards Understandable Patterns from Data
    Sevilla Villanueva, Beatriz
    Gibert, Karina
    Sanchez-Marre, Miquel
    ARTIFICIAL INTELLIGENCE RESEARCH AND DEVELOPMENT: PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE OF THE CATALAN ASSOCIATION FOR ARTIFICIAL INTELLIGENCE, 2013, 256 : 215 - 224
  • [45] Towards Power Consumption Optimization for Embedded Systems from a Model-driven Software Development Perspective
    Schaarschmidt, Marco
    Uelschen, Michael
    Pulvermueller, Elke
    SOFTWARE TECHNOLOGIES, ICSOFT 2021, 2022, 1622 : 117 - 142
  • [46] Transition Recovery Attack on Embedded State Machines Using Power Analysis
    Carper, Clay
    Robins, Andey
    Borowczak, Mike
    2022 IEEE 40TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD 2022), 2022, : 572 - 576
  • [47] Towards Software Evolution for Embedded Systems Based on MAPE Loop Encapsulation
    Nakagawa, Hiroyuki
    Kudo, Takumitsu
    Sei, Yuichi
    Tahara, Yasuyuki
    Ohsuga, Akihiko
    2014 IEEE EIGHTH INTERNATIONAL CONFERENCE ON SELF-ADAPTIVE AND SELF-ORGANIZING SYSTEMS (SASO), 2014, : 203 - 204
  • [48] APPLYING STATE-OF-THE-ART TECHNIQUES FOR EMBEDDED SOFTWARE ADAPTATION
    Roychoudhury, Suman
    Bunse, Christian
    Hoepfner, Hagen
    ICSOFT 2009: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 1, 2009, : 305 - 308
  • [49] An overview of the current state of software engineering in embedded automotive electronics
    Gruszczynski, Bob
    2006 IEEE INTERNATIONAL CONFERENCE ON ELECTRO/INFORMATION TECHNOLOGY, 2006, : 377 - 381
  • [50] Detecting design flaws in UML state charts for embedded software
    Elamkulam, Janees
    Glazberg, Ziv
    Rabinovitz, Ishai
    Kowlali, Gururaja
    Gupta, Satish Chandra
    Kohlil, Sandeep
    Dattathranil, Sai
    Macia, Claudio Paniagua
    HARDWARE AND SOFTWARE, VERIFICATION AND TESTING, 2007, 4383 : 109 - +