版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:中关村实验室 北京大学计算机学院高可信软件技术教育部重点实验室 伦敦国王学院
出 版 物:《计算机学报》 (Chinese Journal of Computers)
年 卷 期:2023年第46卷第10期
页 面:2025-2040页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家重点研发计划课题(编号:2022YFB4501902) 中兴通讯-北京大学基础软件联合实验室项目的支持
摘 要:程序的编写是软件开发中的主要活动.提高程序编写的效率一直是软件工程研究关注的重要问题.基于深度学习的程序生成是提高程序编写效率的重要途径.该类方法借鉴了自然语言处理中的基于深度神经网络的机器翻译方法,试图将输入的自然语言描述自动转换为对应程序.然而,现有程序生成方法的生成效果很难让人满意.在这类方法中,对输入自然语言描述的微小改动可能使得输出的代码发生巨大改变.这种变化会给开发者带来理解上的困难.为了解决这个问题,本文提出了一种感知上下文语境的测试和修复算法(COTE).COTE将变异和蜕变测试相结合以实现程序生成系统中相应问题的自动测试并在测试的基础上实现自动修复.本文在常用程序生成工具CodeGPT上对COTE进行验证.实验结果表明:在COTE的测试下,CodeGPT大约有39%的输入存在问题;同时,COTE可以自动修复其中33%~42%的问题.