项目名称: 面向理解的软件错误定位方法:状态转移概率推理建模
项目编号: No.61202092
项目类型: 青年科学基金项目
立项/批准年度: 2013
项目学科: 计算机科学学科
项目作者: 王甜甜
作者单位: 哈尔滨工业大学
项目金额: 24万元
中文摘要: 针对已有错误定位方法难于理解软件错误等问题,综合运用程序分析、模型推理、统计、优化算法等理论与技术,提出面向理解的软件错误定位方法,将测试用例优选、错误定位、理解有机结合:首先,定义"失效语句覆盖向量相似度优先排序"和"失效执行覆盖等价划分优化选择"准则,在此基础上建立测试用例优选模型,选择有利于提高错误定位有效性的测试用例;然后,定义并构建软件错误定位模型-轻量级的状态转移概率推理模型,解析程序静态信息和成功测试用例执行时的动态控制依赖,推导动态数据依赖,抽象程序状态并统计其沿控制流及数据流转移的概率,从而充分分析程序执行状态转移及语句间的相互影响,有效定位缺陷,并为软件错误理解奠定基础;最后,定义软件错误理解全景视图,建模推导失效相关的控制依赖及数据依赖、失效执行数据、可疑程序点的期望状态和表达式,辅助开发人员理解软件失效的产生原因。为软件自动化调试、增强软件可靠性奠定理论基础。
中文关键词: 错误定位;测试用例优选;错误理解;软件测试;自动化调试
英文摘要: It is difficult to understand the software errors by using existing software fault localization methods. To solve this problem, a comprehension oriented software fault localization method is proposed by integrating the theories and techniques of program analysis, model reasoning, statistics,and optimization. Test case selection, fault localization, and fault comprehension, are integrated into a uniform framework. Firstly, two criteria "test case prioritization by similarity of failure statement coverage vector", "test case selection by equivalent failure execution coverage division" are defined, and a test case selection model is created based on these criteria. Thus test cases which can improve the effectiveness of the fault localization are selected. Next, a software fault localization model, i.e. lightweight state transition probability reasoning model, is built. During this process, dynamic data dependence is derived by analyzing the static data dependence of the program and the dynamic control dependence of the successful test case executions, program states are abstracted, and state transition probabilities along the control flow and data flow are computed. As a result, this model sufficiently analyzes the exection state transitions and the interactions between program statements. Finally, a software fault
英文关键词: fault localization;test case selection;fault comprehension;software testing;automatic debugging