Do Extracted State Machine Models Help to Understand Embedded Software?

被引:2
|
作者
Said, Wasim [1 ]
Quante, Jochen [1 ]
Koschke, Rainer [2 ]
机构
[1] Robert Bosch GmbH, Renningen, Germany
[2] Univ Bremen, Bremen, Germany
关键词
program comprehension; controlled experiment; reverse engineering; state machines; embedded legacy software; PROGRAM COMPREHENSION;
D O I
10.1109/ICPC.2019.00038
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program understanding is a prerequisite for several software activities, such as maintenance, evolution, and reengineering. Code in itself is so detailed that it is often hard to understand. More abstract models describing its behaviour may ease program understanding. Manually building understandable abstractions from complex source code - as an explicit or just mental model - requires in-depth analysis of the code in the first place. Therefore, it is a time-consuming and tedious activity for developers. Model mining can support program comprehension by semi-automatically extracting high-level models from code. One helpful model is a state machine, which is an established formalism for specifying the behaviour of a software component. In this paper, we report on a controlled experiment that investigates the question: Do semi-automatically extracted state machines make understanding of complex embedded code more effective? The experiment was conducted with 30 participants on two industrial embedded C code functions. The results show that the share of correct answers increases and the required time to solve the tasks decreases significantly when extracted state machines are available. We conclude that mined state machines do in fact help in program understanding.
引用
收藏
页码:191 / 196
页数:6
相关论文
共 50 条
  • [21] Inferring Extended Finite State Machine Models from Software Executions
    Walkinshaw, Neil
    Taylor, Ramsay
    Derrick, John
    2013 20TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE), 2013, : 301 - 310
  • [22] Inferring extended finite state machine models from software executions
    Neil Walkinshaw
    Ramsay Taylor
    John Derrick
    Empirical Software Engineering, 2016, 21 : 811 - 853
  • [23] Inferring extended finite state machine models from software executions
    Walkinshaw, Neil
    Taylor, Ramsay
    Derrick, John
    EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (03) : 811 - 853
  • [24] Embedded user assistance-the future for software help?
    Ellison, Matthew
    Interactions, 2007, 14 (01) : 30 - 31
  • [25] Why computer models help to understand developmental processes
    Kunnen, E. Saskia
    JOURNAL OF ADOLESCENCE, 2017, 57 : 134 - 136
  • [26] Mathematical Models to Help Understand Developmental Biology and Cancer
    Tomlin, Claire
    PROCEEDINGS OF THE 2ND EUROPEAN FUTURE TECHNOLOGIES CONFERENCE AND EXHIBITION 2011 (FET 11), 2011, 7 : 16 - 17
  • [27] Do Software Developers Understand Open Source Licenses?
    Almeida, Daniel A.
    Murphy, Gail C.
    Wilson, Greg
    Hoye, Mike
    2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, : 1 - 11
  • [28] Concurrent models of computation for embedded software
    Lee, EA
    Neuendorffer, S
    IEE PROCEEDINGS-COMPUTERS AND DIGITAL TECHNIQUES, 2005, 152 (02): : 239 - 250
  • [29] Severe and "chronic": Do these terms help us understand patients?
    Scott, M
    PSYCHIATRIC SERVICES, 2005, 56 (01) : 109 - 109
  • [30] WE CAN DO BETTER TO HELP STUDENTS UNDERSTAND PHYSICS
    BAUMAN, RP
    PHYSICS TEACHER, 1985, 23 (06): : 377 - 378