-
题名一种基于加权软件行为图挖掘的软件错误定位方法
被引量:3
- 1
-
-
作者
苏小红
王甜甜
杨劭君
马培军
-
机构
哈尔滨工业大学计算机科学与技术学院
-
出处
《计算机学报》
EI
CSCD
北大核心
2016年第11期2175-2188,共14页
-
基金
国家自然科学基金(61173021
61202092
+1 种基金
61672191)
教育部博士点基金(20112302120052)资助~~
-
文摘
已有错误定位方法通常仅给出可疑语句排序而缺少必要的上下文信息,导致难于理解软件失效的产生原因.为了解决该问题,定义了加权软件行为图来表示成功和失败的程序执行路径,由于图中边的权重表示了路径的执行频率,因此与LEAP方法相比,可以较好地分析与循环和递归等结构相关的软件错误.在此基础上,执行基于分支限界搜索的加权软件行为图挖掘算法,识别成功和失败执行之间最有差异的子图来获得错误签名,不但可以有效定位错误位置,还能输出缺陷语句相关的执行路径,从而提供失效产生的上下文.分析Siemens基准测试集和flex程序的结果表明,在检查相同百分比的语句的情况下,文中方法可以比Tarantula方法和LEAP方法定位到更多的错误.特别是对于冗余代码、缺失代码和变量替换,以及会直接改变执行路径类的错误,文中方法具有较高的定位精度.
-
关键词
错误定位
软件行为图
图挖掘
错误签名
分支限界搜索
-
Keywords
fault localization
software behavior graphs
graph mining
bug signature
branch and bound search
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名C语言词法语法分析工具CParser的设计与实现
被引量:4
- 2
-
-
作者
杨劭君
苏小红
王甜甜
马培军
-
机构
哈尔滨工业大学计算机科学与技术学院
-
出处
《智能计算机与应用》
2014年第5期69-71,75,共4页
-
基金
国家自然科学基金项目(61173021)
-
文摘
程序分析技术包括控制流分析、数据流分析、别名分析、程序切片和程序插桩等技术,在程序理解,代码重构、代码优化和软件自动化调试等方面有着重要的应用,而词法分析和语法分析技术是程序分析技术的基础。本文设计与实现了一个轻量级的C语言词法语法分析工具CParser,通过词法分析、预处理和语法分析三个步骤,实现了根据源代码建立相应的抽象语法树的功能。工具使用简单方便,而且能够完整支持C99标准,可用于克隆代码检测、软件错误定位等后续研究工作。
-
关键词
词法分析
语法分析
抽象语法树
编译原理
-
Keywords
Lexical Analysis
Syntax Analysis
Abstract Syntax Tree
Compiler Principles
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-