首页> 外文会议>IEEE International Conference on Software Maintenance and Evolution >On State Machine Mining from Embedded Control Software
【24h】

On State Machine Mining from Embedded Control Software

机译:嵌入式控制软件的状态机挖掘

获取原文

摘要

Program understanding is a time-consuming and tedious activity for software developers. Manually building abstractions from source code requires in-depth analysis of the code in the first place. Model mining can support program comprehension by semi-automatically extracting high-level models from code. One potentially helpful model is a state machine, which is an established formalism for specifying the behavior of a software component. There exist only few approaches for state machine mining, and they either deal with object-oriented systems or expect specific state implementation patterns. Both preconditions are usually not met by real-world embedded control software written in procedural languages. Other approaches extract only API protocols instead of the component's behavior. In this paper, we propose and evaluate several techniques that enable state machine mining from embedded control code: 1) We define criteria for state variables in procedural code based on an empirical study. This enables adaptation of an existing approach for extracting state machines from object-oriented software to embedded control code. 2) We present a refinement of the transition extraction process of that approach by removing infeasible transitions, which on average leads to more than 50% reduction of the number of transitions. 3) We evaluate two approaches to reduce the complexity of transition conditions. 4) An empirical study examines the limits of transition conditions' complexity that can still be understood by humans. These techniques and studies constitute major building blocks towards mining understandable state machines from embedded control software.
机译:程序理解是软件开发人员的耗时和繁琐的活动。手动构建来自源代码的抽象需要首先对代码进行深入分析。模型挖掘可以通过半自动提取代码的高级模型来支持程序理解。一个潜在有用的模型是一个状态机,它是用于指定软件组件行为的既定形式主义。状态机挖掘只有很少的方法,要么处理面向对象的系统或预期特定的状态实现模式。两种前提条件通常不会被以过程语言编写的真实嵌入式控制软件满足。其他方法仅提取API协议而不是组件的行为。在本文中,我们提出并评估了若干技术,使得能够从嵌入式控制代码启用状态机挖掘:1)我们根据实证研究定义了过程代码中的状态变量的标准。这使得能够改编从面向对象的软件中提取状态机的现有方法到嵌入式控制代码。 2)我们通过去除不可行的过渡来提取这种方法的过渡提取过程,平均导致过渡次数的减少超过50%以上。 3)我们评估两种方法以降低过渡条件的复杂性。 4)实证研究检查了人类仍然可以理解的过渡条件的限制。这些技术和研究构成了从嵌入式控制软件挖掘可理解的国家机器的主要构建块。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号