CodeShovel: Constructing Method-Level Source Code Histories
Felix Grund, Shaiful Alam Chowdhury, Nick C. Bradley, Braxton Hall, Reid Holmes
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext edc438c7-cde9-4282-b158-b26e0c32d498Cited by top-tier papers10
- The evolution of type annotations in python: an empirical studyLuca Di Grazia, Michael PradelFSE 2022 · 29 citations
- Accurate method and variable tracking in commit historyMehran Jodavi, Nikolaos TsantalisFSE 2022 · 12 citations
- Fonte: Finding Bug Inducing Commits from FailuresGabin An, Jingun Hong, Naryeong Kim, Shin YooICSE 2023 · 10 citations
- How disabled tests manifest in test maintainability challenges?Dong Jae Kim, Bo Yang, Jinqiu Yang, Tse-Hsun (Peter) ChenFSE 2021 · 9 citations
- Automated Software Entity Matching Between Successive VersionsBo Liu, Hui Liu, Nan Niu, Yuxia Zhang et al.ASE 2023 · 8 citations
Related papers
- HistoryFinder: Advancing Method-Level Source Code History Generation with Accurate Oracles and Enhanced AlgorithmShahidul Islam, S M Ashik Aowal, Md Sharif Uddin, Shaiful ChowdhuryICSE 2026
- On the Naming of Methods: A Survey of Professional DevelopersReem S. Alsuhaibani, Christian D. Newman, Michael John Decker, Michael L. Collard et al.ICSE 2021 · 3 citations
- Diff in the Loop: Supporting Data Comparison in Exploratory Data AnalysisApril Yi Wang, Will Epperson, Robert A. DeLine, Steven Mark DruckerCHI 2022 · 34 citations
- CodeMapper: A Language-Agnostic Approach to Mapping Code Regions Across CommitsHuimin Hu, Michael PradelICSE 2026
- 10 Years Later: Revisiting How Developers Search for CodeKathryn T. Stolee, Tobias Welp, Caitlin Sadowski, Sebastian G. ElbaumFSE 2025 · 3 citations
