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 条
  • [1] Towards Interactive Mining of Understandable State Machine Models from Embedded Software
    Said, Wasim
    Quante, Jochen
    Koschke, Rainer
    PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2018, : 117 - 128
  • [2] Mining understandable state machine models from embedded code
    Said, Wasim
    Quante, Jochen
    Koschke, Rainer
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (06) : 4759 - 4804
  • [3] Mining understandable state machine models from embedded code
    Wasim Said
    Jochen Quante
    Rainer Koschke
    Empirical Software Engineering, 2020, 25 : 4759 - 4804
  • [4] Do Extracted State Machine Models Help to Understand Embedded Software?
    Said, Wasim
    Quante, Jochen
    Koschke, Rainer
    2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, : 191 - 196
  • [5] Extending Timed Abstract State Machines for Real-Time Embedded Software
    Shan J.
    Zhang L.
    Wang J.
    Zhang T.
    Beijing Daxue Xuebao (Ziran Kexue Ban)/Acta Scientiarum Naturalium Universitatis Pekinensis, 2019, 55 (02): : 197 - 208
  • [6] Deriving Homing Sequences for Finite State Machines with Timed Guards
    Tvardovskii, A. S.
    Yevtushenko, N. V.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2021, 55 (07) : 738 - 750
  • [7] Deriving Homing Sequences for Finite State Machines with Timed Guards
    A. S. Tvardovskii
    N. V. Yevtushenko
    Automatic Control and Computer Sciences, 2021, 55 : 738 - 750
  • [8] Evaluating the quality of models extracted from embedded real-time software
    Huselius, Joel
    Kraft, Johan
    Hansson, Hans
    Punnekkat, Sasikumar
    ECBS 2007: 14TH ANNUAL IEEE INTERNATIONAL CONFERENCE AND WORKSHOPS ON THE ENGINEERING OF COMPUTER-BASED SYSTEMS, PROCEEDINGS: RAISING EXPECTATIONS OF COMPUTER-BASES SYSTEMS, 2007, : 577 - +
  • [9] On State Machine Mining from Embedded Control Software
    Said, Wasim
    Quante, Jochen
    Koschke, Rainer
    PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 138 - 148
  • [10] Designing Trusted Embedded Systems from Finite State Machines
    Dunbar, Carson
    Qu, Gang
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2014, 13