Automated program repair (APR) is of important theoretical significance and great application value to both software debugging and software maintenance. This project studies automated program repair from the perspective of metamorphic testing (MT), aiming at establishing methodologies of MT based APR so as to extend the application domain of APR as well as to increase the effects of APR in real applications. By leveraging different characteristics of MT, this project proposes: 1) an metamorphic relations based input mechanism in order to provide rich input information for APR; 2) an metamorphic relations based patch evaluation mechanism in order to reasonably evaluate and classify candidate patches generated during the repair process; 3) an MT based program repair algorithm in order to achieve better repair effectiveness. The research results of this project will increase the applicability and effectiveness of APR. Furthermore, the theoretical results and experimental data will provide guidance for related studies in future.
自动程序修复技术对软件调试和软件维护具有重要的理论和实际应用价值。本项目从蜕变测试技术的角度入手来研究自动程序修复问题,旨在形成基于蜕变测试技术的自动程序修复方法体系,以扩展自动程序修复技术的应用领域以及推动其在实际应用中的影响力。通过利用蜕变测试技术的不同特点,主要研究内容包括:1)提出基于蜕变关系的输入机制来为程序修复提供丰富的输入信息;2)提出基于蜕变关系的补丁评价机制来对程序修复过程中所产生的候选补丁进行合理评价和划分;3)提出基于蜕变测试技术的综合程序修复算法以获得更好的修复效率。本项目的研究成果可以提高自动程序修复技术的实际应用性以及其修复效率。进一步,本项目的理论研究成果以及应用数据能够为后续相关研究工作提供一定的借鉴。
自动程序修复技术旨在自动化的为错误程序生成补丁以修复程序缺陷。然而,修复程序缺陷是一个复杂的过程,并且提供高质量的程序补丁也面临诸多挑战。本项目借助蜕变测试相关技术对自动程序修复中的关键问题展开研究。主要研究成果包括:1)提出基于蜕变关系的测试用例生成方法,可以构建包含丰富信息的测试用例集,为高效的自动程序修复提供支持;2)提出应用蜕变关系的补丁评价机制,能更好的支持自动程序修复过程中补丁的评价和分类;3)提出应用蜕变关系及其相关技术的自动程序修复方法并实现原型工具,方法通过利用特定类型的候选补丁来优化修复过程进而获得更好的修复效率,并且接收蜕变关系而不是测试用例集作为输入,一定程度上减弱了自动程序修复在获得高效输入测试用例集方面所面临的挑战。.本项目的研究成果能够为自动程序修复问题提供有效的解决方案,推动该技术的发展。同时,本项目的研究也扩展了蜕变测试相关技术的应用,也将启发相关领域的研究者采用蜕变测试相关技术来解决不同的问题。
{{i.achievement_title}}
数据更新时间:2023-05-31
监管的非对称性、盈余管理模式选择与证监会执法效率?
采用深度学习的铣刀磨损状态预测模型
混采地震数据高效高精度分离处理方法研究进展
污染土壤高压旋喷修复药剂迁移透明土试验及数值模拟
基于关系对齐的汉语虚词抽象语义表示与分析
测试驱动的自动程序修复方法研究
基于多样性原理的面向对象程序测试中蜕变关系生成与复用技术研究
基于变异的程序自动化修复方法研究
基于蜕变关系的整数溢出故障测试方法研究