Software debugging is across the entire software development cycle, and fault-location is one of the most difficult and time-consuming task in software debugging. Under the background of automatic software debugging requirements and application, this project put forward the automatic fault location method which combining the heuristic selected mutation and software behavior mining. It heuristic selects the module, the target statements to mutate and the mutation operators, so that it can improve the effectiveness and efficiency of mutation testing, as well as the accuracy and efficiency of the fault-location. It can also help developers in understanding and repairing faults. For the purpose of improving the efficiency of mutation testing and fault location, it mines the software historical warehouse from the clone code detection and software defect prediction aspects, to select the mutation target module, and mines weighted software behavior graphs to select the mutation target statements. For the purpose of improving the mutation testing effectiveness and the accuracy of fault-location, it analyzes the real world software and the corresponding historical revision information to discover fixing pattern, considers the characteristics of the under test program, establishes a mutation operator comprehensive evaluation model based on fuzzy multiple attribute decision, to provide the heuristic information for the selection of effective mutation operator. This method not only provides a new idea for automatic software fault localization, but also has a certain guiding significance for understanding and repairing faults, which lays a theoretical foundation for the software testing and automatic software debugging.
软件调试横跨整个软件开发周期,而错误定位是软件调试中最困难、最耗时的任务之一。针对软件自动化调试的需求和应用背景,本项目提出结合启发式选择变异和软件行为特征挖掘的错误自动定位方法,通过启发式选择变异模块、变异目标语句和变异算子,提高变异测试的有效性和效率,进而提高错误定位的精度和效率,辅助开发人员理解和修正错误。其中,为提高变异测试和错误定位的效率,从克隆代码检测和软件缺陷预测两个角度挖掘软件历史仓库,选择变异目标模块,并采用加权软件行为图挖掘方法选择变异目标语句。为提高变异测试有效性和错误定位精度,通过分析真实程序及其历史修正信息发现错误修正模式,结合待测程序特征分析以及基于模糊多属性决策建立的变异算子综合评价模型,为选择有效的变异算子提供启发式信息。该方法不仅为软件错误自动定位提供了一种新思路,而且对错误理解和修正也具有一定的指导意义,为软件测试和软件自动化调试奠定了理论基础。
软件调试横跨整个软件开发周期,而错误定位是软件调试中最困难、最耗时的任务之一。针对软件自动化调试的需求和应用背景,本项目提出结合启发式选择变异和软件行为特征挖掘的错误自动定位方法,通过启发式选择变异模块、变异目标语句和变异算子,提高变异测试的有效性和效率,进而提高错误定位的精度和效率,辅助开发人员理解和修正错误,为软件测试和错误定位奠定理论基础。发表研究论文19篇,其中SCI期刊论文12篇,国内一级期刊论文4篇。获发明专利授权1项、申请发明专利8项、软件著作权登记5项。培养了5名毕业博士,16名毕业硕士。主要研究成果:(1)为提高变异测试和错误定位的效率,从克隆代码检测和软件缺陷预测两个角度挖掘软件历史仓库,选择变异目标模块,并采用加权软件行为图挖掘方法选择变异目标语句。提出基于软件历史仓库挖掘的相似缺陷识别方法,可以有效地通过挖掘历史仓库中的相似缺陷来启发判别待测试软件中可疑模块以及有关修复操作。(2)为提高变异测试有效性和错误定位精度,通过分析真实程序及其历史修正信息发现错误修正模式,结合待测程序特征分析,为选择有效的变异算子提供启发式信息。提出基于错误修正模式挖掘的变异算子选择方法,从版本控制系统的真实项目中挖掘大量错误修正实例,当变异目标语句与错误修正实例具有相似的结构特征时,就可以通过错误修正实例的修正信息匹配变异算子的修正模式,从而推荐出既适用于目标语句又有利于反映真实错误的变异算子。(3)提出基于加权软件行为图的等价变异体检测方法,通过分析变异体动态执行时的特征,提高等价变异体检测的准确性。通过比较加权的软件行为图,可以更精确地检验一个活着的变异体在状态感染和传播方面是否与原始程序相同。(4)提出启发式选择变异的软件错误定位方法,与固定的选用某些变异算子的方法相比,该方法平均精度较高,能够有效定位错误和指导错误修正。
{{i.achievement_title}}
数据更新时间:2023-05-31
监管的非对称性、盈余管理模式选择与证监会执法效率?
基于多模态信息特征融合的犯罪预测算法研究
城市轨道交通车站火灾情况下客流疏散能力评价
桂林岩溶石山青冈群落植物功能性状的种间和种内变异研究
惯性约束聚变内爆中基于多块结构网格的高效辐射扩散并行算法
基于频繁子图挖掘和粒子群优化的软件错误定位
基于模型检查的软件错误定位技术研究
面向理解的软件错误定位方法:状态转移概率推理建模
基于进化优化的大型软件演化中的错误定位