UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

CodeShovel : constructing robust source code history Grund, Felix

Abstract

Source code histories are valuable resources for developers, and development tools, to reason about the evolution of their software systems. Through a survey with 42 professional software developers, we gained insight in how they use the history of their projects and what challenges they face while doing so. We discovered significant mismatches between the output provided by developers' existing approaches and what they need to successfully complete their tasks. To address these shortcomings, we created CodeShovel, a tool for navigating method histories that is able to quickly produce complete method histories in 90% of the cases. CodeShovel enables developers to navigate the entire history of source code methods quickly and reliably, regardless of the transformations and refactorings the method has undergone over its lifetime, helping developers build a robust understanding of its evolution. A field study with 16 industrial developers confirmed our empirical findings of CodeShovel's correctness and efficiency and additionally showed that our approach can be useful for a wide range of industrial development tasks.

Item Media

Item Citations and Data

Rights

Attribution 4.0 International