软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2019年第5期:示例演化驱动的学生程序自动修复

发布日期:

作者:王甜甜,许家欢,王克朝,苏小红

单位:王甜甜,哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 15000111,许家欢,哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 15000102,王克朝,哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001;哈尔滨学院 信息工程学院, 黑龙江 哈尔滨 15008603,苏小红,哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 15000104

关键词:自动修复;示例演化;遗传编程;错误定位;变量映射

基金:国家自然科学基金(61672191);国家重点研发计划(2018YFB1004800);黑龙江省自然科学基金(JJ2019LH0048H);哈尔滨科技创新人才研究专项资金(2016RAQXJ013)

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

来源:2019年第5期

《软件学报》期刊编辑部

查看软件学报杂志2019年第5期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员