Development histories can simplify some software engineering tasks, but different tasks require different history granularities. For example, a history that includes every edit that resulted in compiling code is needed when searching for the cause of a regression, whereas a history that contains only changes relevant to a feature is needed for understanding the evolution of the feature. Unfortunately, today, both manual and automated history generation result in a single-granularity history. This paper introduces the concept of multi-grained development history views and the architecture of Codebase Manipulation, a tool that automatically records a fine-grained history and manages its granularity by applying granularity transformations.
@inproceedings{Muslu15ase, author = {K{\i}van{\c{c}} Mu{\c{s}}lu and Luke Swart and Yuriy Brun and Michael D. Ernst}, title = {\href{http://people.cs.umass.edu/brun/pubs/pubs/Muslu15ase.pdf}{Simplifying Development History Information Retrieval via Multi-Grained Views}}, booktitle = {Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)}, venue = {ASE}, address = {Lincoln, NE, USA}, month = {November}, date = {9--13}, year = {2015}, doi = {10.1109/ASE.2015.53}, note = {\href{https://doi.org/10.1109/ASE.2015.53}{DOI: 10.1109/ASE.2015.53}}, pages = {697--702}, accept = {$\frac{17}{41} \approx 41\%$}, abstract = {<p>Development histories can simplify some software engineering tasks, but different tasks require different history granularities. For example, a history that includes every edit that resulted in compiling code is needed when searching for the cause of a regression, whereas a history that contains only changes relevant to a feature is needed for understanding the evolution of the feature. Unfortunately, today, both manual and automated history generation result in a single-granularity history. This paper introduces the concept of multi-grained development history views and the architecture of Codebase Manipulation, a tool that automatically records a fine-grained history and manages its granularity by applying granularity transformations.</p>}, fundedBy = {AFOSR FA8750-12-C-0174, NSF CCF-0963757, NSF CCF-1453474}, }