摘要:近年来随着软件产业的迅速发展,对软件代码的维护与修正的需求越来越多,在软件运行过程中,会出现或多或少的错误,如果全部由人工进行修正,这是非常费时费力的.所以,如何进行自动化代码测试与修复,成为软件研究的一个方向.本文实现了一个基于Web的程序辅助修正系统,通过结合GenProg项目,用户根据代码要求和测试用例,可以上传代码,根据测试的结果对代码进行修复.通过分析用户的需求,归纳出系统的主要功能,包括用户管理、程序管理以及程序修复.本系统不仅包含了基本的功能,还通过批量导人和导出等功能,更加方便了用户的使用.程序修复算法是基于美国弗里吉亚大学Weimer团队的Gen-Prog项目,基于遗传算法,把每个程序表现成抽象语法树的个体,然后对树的节点进行操作.通过种群个体不断进行交叉和变异的操作,每次迭代筛选出权重值较大的个体,达到修复的目的.根据实际应用,从模板文件中提取出Patch作为个体修复的依据,更加有效地对错误进行修正.