关键词:
软件测试
错误定位
变异分析
图表示方法
PageRank算法
摘要:
程序错误定位是提升软件质量的关键环节,其核心在于计算程序实体的怀疑度并生成排序列表,指导开发者精准定位错误代码位置。然而,现有技术普遍面临程序测试执行特征利用不足与计算效率低下的双重挑战:传统方法依赖离散覆盖矩阵表征程序测试行为,忽视实体间结构关联;基于变异的错误定位技术虽能提升精度,却因大规模变异体生成与测试执行导致高昂计算成本。
本文提出一种基于图表示的程序自动化错误定位的优化技术,通过三阶段方法实现精度与效率的协同提升。在方法设计层面,首先构建程序测试多元关系图(Multivariate Relationship Graph,MRel G),整合代码抽象语法树、动态覆盖路径及变异体衍生关系,将方法、语句、测试用例和变异体等异构实体建模为图节点,构建四维关联网络;其次,基于双通道PageRank权重分配机制,通过迭代量化节点拓扑重要性,创新性地将图中节点权重与传统怀疑度进行非线性融合,实现了对怀疑度的精炼;最后,提出程序测试多元关系图的约减方法,通过方法—语句—测试三元组必要性分析,实现对变异体生成规模和测试用例集两个维度的约减,在保证定位精度的同时实现了变异分析时间成本的降低。
在Defects4J数据集的实验验证表明,通过怀疑度精炼技术调整后,相比传统SBFL技术,Top-1定位成功率较基线提升35%,成功解决80.06%的tie问题数量;对比传统MBFL技术,Top-1成功率提升39.4%,tie问题数量消解率达83.04%。实验通过跨公式验证,证明本方法在Tarantula、Ochiai等10种怀疑度公式中均保持稳定性。在与Grace技术的怀疑度评估结果融合后,在Top-1指标中依然有2.8%的提升效果,证实其与传统方法及前沿技术的兼容性优势。
针对程序测试多元关系图在大规模程序中节点激增导致的效率问题,通过建立变异体生成与测试执行的协同优化机制,将变异体生成规模和测试用例集分别压缩了49.5%和66.2%,且实验证明约减后的程序测试多元关系图在怀疑度精炼上的表现与约减前具有相似的定位精度,而变异分析时间成本降低了82.5%,实现效率与精度的协同提升。