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 条
  • [31] State Machines for Large Scale Computer Software and Systems
    Yodaiken, Victor
    FORMAL ASPECTS OF COMPUTING, 2024, 36 (02)
  • [32] Finite State Machines and their applications in software for industrial control
    Drumea, A
    Popescu, C
    27th International Spring Seminar on Electronics Technology, Books 1-3, Conference Proceedings: MEETING THE CHALLENGES OF ELECTRONICS TECHNOLOGY PROGRESS, 2004, : 25 - 29
  • [33] ERASABLE PLDS AND SOFTWARE HELP FORGE STATE MACHINES
    DARBONNE, T
    ELECTRONIC DESIGN, 1986, 34 (19) : 140 - &
  • [34] Sensing Systems Embedded in Machines: Towards a Better Management of Operations in Viticulture
    Tisseyre, B.
    I INTERNATIONAL WORKSHOP ON VINEYARD MECHANIZATION AND GRAPE AND WINE QUALITY, 2013, 978 : 21 - +
  • [35] Test suite minimization for embedded nondeterministic finite state machines
    Yevtushenko, N
    Cavalli, A
    Anido, R
    TESTING OF COMMUNICATING SYSTEMS: METHODS AND APPLICATIONS, 1999, 21 : 237 - 250
  • [36] Towards Static Recovery of Micro State Transitions from Legacy Embedded Code
    Yamamoto, Ryota
    Yoshida, Norihiro
    Takada, Hiroaki
    WASPI'18: PROCEEDINGS OF THE 1ST ACM SIGSOFT INTERNATIONAL WORKSHOP ON AUTOMATED SPECIFICATION INFERENCE, 2018, : 1 - 4
  • [37] Towards Requirements Specification Collaboration Forum for Embedded Software Systems
    Fariha, Asma
    Alwidian, Sanaa
    Azim, Akramul
    2023 ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS COMPANION, MODELS-C, 2023, : 312 - 317
  • [38] Towards composable distributed real-time and embedded software
    Balasubramanian, KR
    Wang, N
    Gill, C
    Schmidt, DC
    EIGHTH IEEE INTERNATIONAL WORKSHOP ON OBJECT-ORIENTED REAL-TIME DEPENDABLE SYSTEMS, PROCEEDINGS, 2003, : 226 - 233
  • [39] Towards Dynamic Software Diversity for Resilient Redundant Embedded Systems
    Hoeller, Andrea
    Rauter, Tobias
    Iber, Johannes
    Kreiner, Christian
    SOFTWARE ENGINEERING FOR RESILIENT SYSTEMS (SERENE 2015), 2015, 9274 : 16 - 30
  • [40] Towards Checking Parametric Reachability for UML State Machines
    Niewiadomski, Artur
    Penczek, Wojciech
    Szreter, Maciej
    PERSPECTIVES OF SYSTEMS INFORMATICS, 2010, 5947 : 319 - +