首页> 外文会议>IEEE/ACM International Conference on Software Engineering >HireBuild: An Automatic Approach to History-Driven Repair of Build Scripts
【24h】

HireBuild: An Automatic Approach to History-Driven Repair of Build Scripts

机译:HireBuild:自动探讨构建脚本的历史驱动维修

获取原文

摘要

Advancements in software build tools such as Maven reduce build management effort, but developers still need specialized knowledge and long time to maintain build scripts and resolve build failures. More recent build tools such as Gradle give developers greater extent of customization flexibility, but can be even more difficult to maintain. According to the TravisTorrent dataset of open-source software continuous integration, 22% of code commits include changes in build script files to maintain build scripts or to resolve build failures. Automated program repair techniques have great potential to reduce cost of resolving software failures, but the existing techniques mostly focus on repairing source code so that they cannot directly help resolving software build failures. To address this limitation, we propose HireBuild: History-Driven Repair of Build Scripts, the first approach to automatic patch generation for build scripts, using fix patterns automatically generated from existing build script fixes and recommending fix patterns based on build log similarity. From TravisTorrent dataset, we extracted 175 build failures and their corresponding fixes which revise Gradle build scripts. Among these 175 build failures, we used the 135 earlier build fixes for automatic fix-pattern generation and the more recent 40 build failures (fixes) for evaluation of our approach. Our experiment shows that our approach can fix 11 of 24 reproducible build failures, or 45% of the reproducible build failures, within comparable time of manual fixes.
机译:软件构建工具的进步,如Maven减少了构建管理努力,但开发人员仍需要专业知识和长时间来维护构建脚本并解决构建故障。最近的建设工具,如Gradle,为开发人员提供了更大的定制灵活性,但可以更难以维护。根据开源软件的遍历数据集连续集成,22%的代码内容包括构建脚本文件中的更改以维护构建脚本或解析构建失败。自动化程序维修技术具有巨大的潜力,可以降低解决软件故障的成本,但现有技术主要专注于修复源代码,以便直接帮助解决软件构建故障。为了解决此限制,我们提出了Hirebuild:历史驱动的构建脚本修复,构建脚本自动修补程序生成的第一种方法,使用从现有构建脚本修复程序自动生成的修复模式和基于构建日志相似性。来自Travistorrent DataSet,我们提取了175个构建故障及其对应的修复程序,该修复程序修改Gradle构建脚本。在这175个构建失败中,我们使用了135篇之前的自动修复模式生成和最近的40个构建故障(修复程序),以评估我们的方法。我们的实验表明,我们的方法可以在手动修复的可比时间内修复24个可重复的构建故障,或45%的可重复构建故障。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号