HI,欢迎来到学术之家,发表咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0

示例演化驱动的学生程序自动修复

作者:王甜甜; 许家欢; 王克朝; 苏小红自动修复示例演化遗传编程错误定位变量映射

摘要:已有的程序自动化调试研究大多面向工业软件,而学生程序调试具有缺陷数多、类型复杂等特有难点问题,因此,针对学生程序设计应用背景,研究程序自动修复方法,利用模板示例程序指导补丁的演化.改进了遗传编程算法,包括适应度的计算、变异体的生成方式和变异位置及操作的选择方式,使其更加适合修复学生程序.提出了基于示例的静态错误定位方法,能够识别缺陷程序和参考程序差异和可能的变异操作,有效地缩小补丁的搜索空间以提高修复的准确性.提出了基于执行值序列的变量映射方法,以降低变异体的编译错误,提高修复的准确性.在此基础上,设计并实现了示例演化驱动的Java学生程序自动修复系统.实验结果表明,该方法可以修复含有多缺陷学生程序,对于所用的测试集,当学生程序只有1个~2个错误时,修复率将近100%;当含有3个缺陷时,修复率约为70%;当含有4个及以上缺陷时,修复率约为50%.

注:因版权方要求,不能公开全文,如需全文,请咨询杂志社

软件学报

《软件学报》(CN:11-2560/TP)是一本有较高学术价值的大型月刊,自创刊以来,选题新奇而不失报道广度,服务大众而不失理论高度。颇受业界和广大读者的关注和好评。

杂志详情