paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CodeShovel: Constructing Method-Level Source Code Histories

CodeShovel:构建方法级源代码历史
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 2/10 · 该论文关注方法级源码历史的构建与开发者工具,属于软件演化/挖掘软件仓库领域,与用户核心的 PL↔AI、Agentic 程序静态分析、浮点程序分析及贝叶斯程序分析等方向没有直接交集;仅在“源码分析方法/开发者工具”层面有非常边缘的相关性。引用 47 inbox
Felix Grund, Shaiful Alam Chowdhury, Nick C. Bradley, Braxton Hall, Reid Holmes
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 CodeShovel,快速准确构建方法级源码历史,性能优于现有研究与实践工具。

开发者常通过源码历史理解软件演化,但现有工具提供的输出与开发者完成历史分析任务的需求存在明显错配。通过对42名专业开发者的调查,作者提出 CodeShovel,用于揭示方法级源码变更历史,帮助开发者导航方法的完整演化过程。评估表明,CodeShovel 能为90%的方法(覆盖97%的方法变更)快速生成完整且准确的历史,优于研究工具 FinerGit 以及实践工具 IntelliJ/git log。此外,在工业代码库上对16名工业开发者开展的现场研究,验证了其正确性与低运行时开销,并表明该方法可支持多种工业开发任务。

问题
开发者检查源码历史时,现有工具的输出与其历史分析任务需求不匹配,方法级完整而准确的变更历史尤其难以获得。
方法
通过42名专业开发者调查确认需求缺口后,提出 CodeShovel,自动揭示并导航方法级源码变更历史。
评估
在方法历史生成任务上,CodeShovel 对90%方法(含97%方法变更)快速生成完整准确历史,优于 FinerGit 和 IntelliJ/git log;并通过16名工业开发者的现场研究验证正确性、低运行时开销与工业实用性。
原文摘要(Abstract)

Source code histories are commonly used by developers and researchers to reason about how software evolves. Through a survey with 42 professional software developers, we learned that developers face significant mismatches between the output provided by developers' existing tools for examining source code histories and what they need to successfully complete their historical analysis tasks. To address these shortcomings, we propose CodeShovel, a tool for uncovering method histories that quickly produces complete and accurate change histories for 90% methods (including 97% of all method changes) outperforming leading tools from both research (e.g, FinerGit) and practice (e.g., IntelliJ / git log). CodeShovel helps developers to navigate the entire history of source code methods so they can better understand how the method evolved. A field study on industrial code bases with 16 industrial developers confirmed our empirical findings of CodeShovel's correctness, low runtime overheads, and additionally showed that the approach can be useful for a wide range of industrial development tasks.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{GrundCBHH21,
  title = {CodeShovel: Constructing Method-Level Source Code Histories},
  author = {Felix Grund and Shaiful Alam Chowdhury and Nick C. Bradley and Braxton Hall and Reid Holmes},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00135}
}