首页> 中文期刊> 《软件学报》 >一种结构信息增强的代码修改自动转换方法

一种结构信息增强的代码修改自动转换方法

         

摘要

在开发过程中,开发人员在进行缺陷修复、版本更新时,常常需要修改多处相似的代码.如何进行自动代码修改已成为软件工程领域的热点研究问题.一种行之有效的方式是:给定一组代码修改示例,通过抽取其中的代码修改模式,辅助相似代码进行自动转换.在现有工作中,基于深度学习的方法取得了一定进展,但在捕获代码间的长程信息依赖关系时,效果不佳.为此,提出了一种结构信息增强的代码修改自动转换方法ExpTrans.ExpTrans在解析代码时采用图的形式来表示修改示例,显式地指出了代码中变量之间的依赖关系,同时结合图卷积网络和Transformer架构,增强了模型对代码的结构信息和依赖信息的捕获能力,从而提升了代码修改自动转换的准确性.实验结果表明,对比同类型基于深度学习的方法,ExpTrans在准确率上提升了11.8%~30.8%;对比基于人工规则的方法,ExpTrans在修改实例的数量和准确率上均有显著提升.

著录项

  • 来源
    《软件学报》 |2021年第4期|1006-1022|共17页
  • 作者单位

    北京大学信息科学技术学院 北京 100871;

    高可信软件技术教育部重点实验室(北京大学) 北京 100871;

    北京大学信息科学技术学院 北京 100871;

    高可信软件技术教育部重点实验室(北京大学) 北京 100871;

    北京大学信息科学技术学院 北京 100871;

    高可信软件技术教育部重点实验室(北京大学) 北京 100871;

    北京大学信息科学技术学院 北京 100871;

    高可信软件技术教育部重点实验室(北京大学) 北京 100871;

  • 原文格式 PDF
  • 正文语种 chi
  • 中图分类 程序设计、软件工程;
  • 关键词

    代码变更; 代码演化; 软件维护; 代码生成;

相似文献

  • 中文文献
  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号