基于高阶变异的软件多错误定位技术研究

来源 :北京化工大学 | 被引量 : 0次 | 上传用户:Kingt1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
错误定位是软件调试中关键且耗时的环节。自动化错误定位技术,旨在自动识别程序中潜在出错的实体,有助于快速定位程序中发生错误的位置。但随着软件的更新迭代,程序中的错误变得更加复杂,传统错误定位技术主要关注单错误,即对程序语句进行单次修改后可修复的错误,针对需在多个位置修改才可修复的多错误,难以实现准确的错误定位。基于变异的错误定位技术(Mutation Based Fault Localization,MBFL)是近年来提出的一种精度最高的错误定位技术。MBFL通过对被测程序植入人工错误生成程序变异体,依据植入错误数量的多少可分为一阶变异体和高阶变异体。高阶变异体在被测程序中植入多个错误,可模拟多错误,理论上可用于软件多错误定位。但现有高阶变异体生成只是采用一阶变异体的组合,未考虑组成多错误中单错误之间的关联性。研究一种可模拟真实多错误的高阶变异体生成方法是本课题面临的第一个挑战。另一方面,语句怀疑度度量方法是错误定位的核心技术,直接决定出错程序实体在检查列表中的位置。在MBFL技术中,现有度量方法是基于一阶变异体执行信息计算,研究适合于高阶变异体的语句怀疑度度量方法是本课题面临的另一个挑战。本文针对软件多错误定位技术开展研究,提出基于高阶变异的多错误定位技术,具体研究了面向多错误的高阶变异体生成方法和面向多错误的高阶变异语句怀疑度度量方法,并针对高阶变异错误定位技术开销大的问题提出了约减方法。本文的主要研究内容包括:(1)面向多错误的高阶变异体生成方法多错误可以认为是由单错误组成,这些单错误之间可能具有关联性。本文基于程序中错误的存在形式,系统化分析单错误之间的关联性和分布特性,提出相应的高阶变异体生成方法。首先假定这些单错误之间无关但错误具有相似性,提出基于聚类的高阶变异体生成方法,生成具有代表性的高阶变异体。其次,假定单错误之间存在逻辑相关,本文考虑单错误的发生位置,分别提出基于分布的高阶变异体生成方法和基于密度的高阶变异体生成方法。在两个数据集共237个多错误程序上的实验结果表明,相比较于基于分布的生成方法和基于密度的生成方法,基于聚类的高阶变异体生成方法组合表征无关错误的一阶变异体来生成高阶变异体,更能模拟真实多错误。本文进一步在高阶变异错误定位技术中应用提出的高阶变异体的生成方法,错误定位精度显著提高。(2)面向多错误的高阶变异语句怀疑度度量方法由于传统MBFL度量语句怀疑度时未考虑多错误的情况,本文依据多错误位置与高阶变异体的执行特征,通过构建高阶变异体与程序语句的映射关系,提出两种语句怀疑度度量方法。首先,考虑到多错误位置与高阶变异体怀疑度的分布存在密切关系,提出基于多错误怀疑度分布的度量方法,包括基于高阶变异体怀疑度最值、均值和权重的度量方法。其次,进一步分析测试用例在多错误上的执行特征,提出基于多错误测试状态变化的度量方法。在237个多错误程序上的实验结果表明,基于高阶变异体怀疑度权重的度量方法,考虑程序语句间的差异性,可更准确定位错误语句的位置。本文进一步在高阶变异错误定位技术中应用提出的高阶变异语句怀疑度度量方法,错误定位精度显著提高。(3)面向多错误的高阶变异体约减方法由于高阶变异错误定位技术应用高阶变异体面临执行成本巨大的问题,本文依据多错误和高阶变异体特性,从高阶变异体与语句的映射关系和高阶变异体对错误的定位价值出发,提出两种高阶变异体约减方法。首先,为保证程序语句变异的多样性,提出基于语句粒度采样的约减方法。其次,考虑到高阶变异体在错误定位中的定位价值,提出基于变异测试评估的约减方法。在237个多错误程序的实验结果表明,两种方法中基于语句粒度采样的约减方法有较高的错误定位精度。本文进一步在高阶变异错误定位技术中应用基于语句粒度采样的约减方法,在采样率为20%时,错误定位精度与原始未采样时相近,且显著优于传统错误定位技术,并有效降低了80.0%的变异执行成本,变异执行效率提升了约4倍。综上所述,本文针对程序多错误定位的问题,系统化研究了面向多错误的高阶变异错误定位技术。首先,从高阶变异体的生成角度,研究了三种面向多错误的高阶变异体生成方法。其次,从高阶变异语句怀疑度度量角度,提出了两种面向多错误的高阶变异语句怀疑度度量方法。最后,从高阶变异错误定位技术的开销约减角度,实现了两种面向多错误的高阶变异体约减方法,错误定位精度与原始未采样时相近,且显著优于传统错误定位技术,减少了约80.0%高阶变异执行开销,提升了高阶变异错误定位技术的执行效率,为高阶变异错误定位技术的实际应用奠定了基础。
其他文献
<正>尽管急性心肌梗死(acute myocardial infarction,AMI)早期血运重建解决了缺血相关的冠状动脉狭窄,有助于缓解急性期心肌细胞缺血缺氧,降低患者死亡率。然而,接受经皮冠状动脉介入治疗(percutaneous coronary intervention,PCI)虽然恢复罪犯血管血流,但并不能完全预防心力衰竭(heart failure,HF)的发生发展[1]。越来越多的
期刊
作为功能染料激发态的主要应用之一,光动力治疗已成为一种新兴的癌症治疗手段,但还存在乏氧肿瘤治疗效果差、体系含有重元素掺杂、治疗深度有限等问题,限制了其进一步应用。光诱导电子转移是一种经典的分子激发态调控机制,能够通过猝灭辐射跃迁提升光敏分子的治疗效率。在众多有机分子染料中,菁类染料由于具有可调的激发波长,大的摩尔消光系数,良好的生物相容性等突出优点,是一类理想的光敏染料母体。因此,本论文以光诱导电
学位
环氧烷烃是重要的有机化工原料,其价格低廉且种类丰富,在现代化工中扮演着重要角色。环氧烷烃与环状酸酐或CO2共聚合成聚酯、聚碳酸酯等可降解性高分子材料是重要的绿色聚合过程,一直备受关注。但该领域还存在着催化剂活性不高、材料性能较差等问题,严重制约了上述聚合反应的实际应用。与单核、双核催化剂相比,三核催化剂具有更多的金属活性中心,在催化活性和序列控制方面更有优势,因此,针对上述问题,本论文从三核催化剂
学位
面对日趋严峻的能源形势与环境危机,世界各国聚焦新能源与清洁能源的发展。质子交换膜燃料电池(PEMFCs)作为一种清洁能源设备,发展迅速。作为电池的核心部件,质子交换膜的研究备受瞩目。全氟磺酸膜以其优异的质子传导能力和耐氧化稳定性备受PEMFCs的青睐;但较高的成本限制全氟磺酸膜PEMFCs的广泛应用,所以,价格低廉的磺化聚芳醚(SPAEs)质子交换膜发展迅速。由于膜材料分子的特点,SPAEs质子交
学位
报纸
日益复杂的机械设备是现代社会不可或缺的重要组成部分,在石油化工、航空航天及电力供应等诸多领域发挥着举足轻重的作用,精确及时的故障诊断有助于遏制故障萌芽、延长设备稳定运行时间,是提高生产效率、保障人员安全的重要前提。传统的故障诊断技术往往受制于信号非平稳特性及故障机理研究,且在特征提取方面具有较强的主观性,难以满足不断增长的诊断需求。近些年,深度学习由于其优越的非线性表征能力及出色的模式分类性能而被
学位
药物相互作用(Drug-drug interactions,DDIs)是药物安全中的重要问题,是造成药物严重不良反应的主要原因之一。多项研究证实代谢酶抑制是发生临床DDIs的主要机制,因此评估药物代谢酶抑制介导的DDIs已成为药物开发和上市后安全性监测的重要组成部分。在这个过程中,药物既作为“施害药”,通过抑制代谢酶活性进而影响其他底物代谢,同时又作为“受害药”,其本身代谢消除过程受抑制剂所影响。
学位
三重态光敏剂(photosensitizer,PS)作为性能优异的核心分子被广泛应用于光动力治疗、光伏、光催化和上转换等领域。在分子设计策略方面,PS的设计依赖重原子效应,致使PS的分子类型过于单一。同时重原子PS存在三重态寿命短、成本高昂等缺陷。相比之下,无重原子PS可以弥补上述缺陷,并且可丰富PS种类,因此亟需探索无重原子PS的设计策略。但是无重原子PS的设计缺乏理论指导,无法预测化学修饰带来
学位
化学农药作为防治农业有害生物的重要手段之一,在保证农作物产量和保障粮食安全方面起着不可替代的作用。我国是农药生产和使用大国,但农药有效利用率较低。2020年我国三大粮食作物的农药利用率仅为40.2%,其中空间传递过程作为农药剂量损失的关键环节,有高达30%以上的雾滴发生脱靶飘移,造成了农药的大量浪费和生态环境的破坏。本文聚焦于农药雾滴的空间飘移过程,搭建了空间运行过程的共性规律研究平台,首次提出了
学位
装配式混凝土结构的应用表明其在地震作用下可以表现出很好的抗震性能,但是连接及结构设计的不合理也可能导致严重的破坏。现行规范中缺少针对半刚性连接结构的考虑,且局限于弹性阶段的承载力设计,缺乏适用于塑性阶段的性能设计方法。这在一定程度上制约了装配式混凝土结构的应用和发展,尤其对于是高层建筑和高抗震烈度地区。基于能量的抗震设计可以反映地震动对结构的累积作用,在结构塑性阶段的设计和损伤控制上有明显的优势,
学位