paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Optimizing Continuous Development by Detecting and Preventing Unnecessary Content Generation

通过检测与阻止不必要的内容生成来优化持续开发
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 3/10 · 论文属于 PL 与 LLM 的交叉,用 LLM 辅助生成构建配置补丁,但研究目标是持续开发构建中的冗余文件检测与构建优化,而非用户关注的静态分析/形式化验证、ML 或 Agentic 程序分析、浮点程序分析或贝叶斯程序分析。仅“LLM 作为工具改进 PL 工具”这一点略有重合,且所用模型较旧,因此匹配度较低。引用 4 inbox
Talank Baral, Shanto Rahman, Bala Naren Chanumolu, Başak Balcı, Tuna Tuncer, August Shi, Wing Lam
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:OptCD 动态检测持续开发构建中生成却从未被读取的文件,定位负责生成它们的构建任务并自动生成禁用补丁。

持续开发(CD)构建通常包含编译、测试、静态分析等任务,任务越多构建越慢;其中一些任务产出的文件(如从未被读取或上传的覆盖率文件)根本无人使用,白白消耗构建时间。本文提出 OptCD,在构建运行时跟踪文件的读写,把“被写入却从未被读取”的文件判为不必要内容,再依据文件名将其映射到负责生成这些文件的具体构建任务,并用 ChatGPT 生成修改构建配置的补丁以禁用这些生成。在 22 个开源项目上的评估显示:95.6% 的项目至少存在一个内容全无用的未使用目录,OptCD 为其中 92.0% 找对了生成任务,并为 72.0% 生成了补丁,平均缩短 7.0% 的构建运行时;提交的 26 个 PR 中 12 个已被接受,5 个被拒,9 个待定。

问题
开发者不断向持续开发(CD)构建中加入任务,使构建越来越慢;其中部分任务生成的产物从未被任何其他任务读取,属于可以消除的无用工作,却难以被开发者察觉。
方法
OptCD 随 CD 构建并行运行,记录构建期间所有文件的读与写,将只被写入而从未被读取的文件识别为不必要内容,依据文件名把它们归因到具体的构建任务,并借助 ChatGPT 生成禁用这些生成的构建配置补丁。
评估
在 22 个开源项目上度量未使用目录的发现率、任务归因准确率、补丁生成率及构建运行时收益,并通过提交 26 个 pull request 观察开发者的接受情况。
原文摘要(Abstract)

Continuous development (CD) helps developers quickly release and update their software. To enact CD, developers customize their CD builds to perform several tasks, including compiling, testing, static analysis checks, etc. However, as developers add more tasks to their builds, the builds take longer to run, therefore slowing down the entire CD process. Furthermore, developers may unknowingly include tasks into their builds whose results are not used (e.g., generating coverage files that are never read or uploaded anywhere), therefore wasting build runtime doing unnecessary tasks. We propose OptCD, a technique to dynamically detect unnecessary work within CD builds. Our intuition is that unnecessary work can be identified by the generation of files that are not used by any other task within the build. OptCD runs alongside a CD build, tracking the generated files during the build and which files are read/written. Files that are written to but are never read from are unnecessary content from a build. Based on the names of the unnecessary files, OptCD then maps the files to the specific build tasks responsible for generating or writing to those files. Finally, OptCD leverages ChatGPT to suggest changing the build configuration to disable generating these unnecessary files. Our evaluation of OptCD on 22 open-source projects finds that 95.6% of projects generate at least one unused directory, a directory whose contents are all unnecessarily generated. OptCD identifies the correct task that generates 92.0% of the unused directories. Further, OptCD can produce a patch for the CD configuration file to prevent generating 72.0% of the unused directories. Using the patches, we reduce the runtime by 7.0% on average for the projects we studied. We submitted 26 pull requests for the unused directories that we could disable. Developers have accepted 12 of them, with five rejected, and nine still pending.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{BaralRCBTSL23,
  title = {Optimizing Continuous Development by Detecting and Preventing Unnecessary Content Generation},
  author = {Talank Baral and Shanto Rahman and Bala Naren Chanumolu and Başak Balcı and Tuna Tuncer and August Shi and Wing Lam},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00216}
}