计算机应用 ›› 2013, Vol. 33 ›› Issue (01): 243-249.DOI: 10.3724/SP.J.1087.2013.00243

• 计算机软件技术 • 上一篇    下一篇

嵌入式程序的故障行为分析

张丹青,江建慧,陈林博   

  1. 同济大学 软件学院, 上海 201804
  • 收稿日期:2012-07-20 修回日期:2012-09-17 出版日期:2013-01-01 发布日期:2013-01-09
  • 通讯作者: 张丹青
  • 作者简介:张丹青(1984-),女,湖北武汉人,博士研究生,主要研究方向:可信计算、软件可靠性工程;江建慧(1964-),男,浙江淳安人,教授,博士生导师,主要研究方向:可信计算、软件可靠性工程、入侵检测与防御、处理器体系结构、计算机辅助设计、测试、评估;陈林博(1984-),男,湖南永州人,博士研究生,主要研究方向:信息安全、入侵检测与防御、入侵容忍。

Fault behaviors analysis of embedded programs

ZHANG Danqing,JIANG Jianhui,CHEN Linbo   

  1. School of Software Engineering, Tongji University, Shanghai 201804, China
  • Received:2012-07-20 Revised:2012-09-17 Online:2013-01-01 Published:2013-01-09
  • Contact: ZHANG Danqing

摘要: 为分析由软件缺陷引发的程序异常行为,首先给出了程序行为的表征方法,并对程序基准行为和故障行为进行定义和形式化描述。在此基础上,提出了能够反映程序故障行为特性的三个量化指标。其次,提出并实现了一种以系统调用为程序状态提取粒度的故障行为分析(PFBA)方法,并以嵌入式基准程序为对象进行故障注入实验以获得上述故障行为特征的各量化指标。实验结果表明,不同故障类型下的程序行为特征存在较大差异,且这些差异主要来源于与嵌入式程序的实现机制、结构特性等相关的固有特性。因此,该故障行为特征及其量化指标能够准确地揭示嵌入式程序运行时的故障行为,为程序开发过程提供了有效的回溯信息。

关键词: 软件缺陷, 基准行为, 故障行为, 故障敏感度, 故障注入

Abstract: To analyze the abnormal behavior of program induced by software defects, a characterization method of program behavior was proposed firstly, and then the baseline behavior and fault behavior of program got defined and formally described. A quantitative approach to represent the fault behavior of program was proposed afterwards. Furthermore, a Program Fault Behavior Analysis (PFBA) was delivered and implemented, which selected system-call as state granularity of program behavior. Based on specific embedded benchmarks, the experiment was followed through with fault injection method to obtain early-described indices of fault behavior. The experimental results show that there exists a difference among program behaviors under each individual fault type. Based on an in-depth analysis, it is demonstrated that the diversity of fault behaviors is induced by algorithm implementations and structural characteristics of embedded program themselves. Therefore, the analysis of fault behavior presented here can reveal the characteristics of embedded program response behavior under specific software defects, as well as providing important feedback to the process of program development.

Key words: software defect, baseline behavior, fault behavior, fault sensitivity, fault injection

中图分类号: