by Marcel Taeumel, Stephanie Platz, Bastian Steinert,
Robert Hirschfeld and
Hidehiko MasuharaAbstract:
Development teams benefit from version control systems, which manage shared access to code repositories and persist entire project histories for analysis or recovery. Such systems will be efficient if developers commit coherent and complete change sets. These best practices, however, are difficult to follow because multiple activities often interleave without notice and existing tools impede unraveling changes before committing them. We propose an interactive, graphical tool, called Thresher, that employs adaptable scripts to support developers to group and commit changes—especially for fine-granular change tracking where numerous changes are logged even in short programming sessions. We implemented our tool in Squeak/Smalltalk and derived a foundation of scripts from five refactoring sessions. We evaluated those scripts' precision and recall, which indicate a reduced manual effort because developers can focus on project-specific adjustments. Having such an interactive approach, they can easily intervene to accurately reconstruct activities and thus follow best practices.
Reference:
Unravel Programming Sessions with THRESHER: Identifying Coherent and Complete Sets of Fine-granular Source Code Changes (Marcel Taeumel, Stephanie Platz, Bastian Steinert, Robert Hirschfeld and Hidehiko Masuhara), In JSSST Journal on Computer Software, volume 34, 2017. (JSSST Best Research Paper Award)
Bibtex Entry:
@article{taeumel2017compsoft,
author = {Marcel Taeumel and Stephanie Platz and Bastian Steinert and Robert Hirschfeld and Hidehiko Masuhara},
title = {Unravel Programming Sessions with {THRESHER}: Identifying Coherent and Complete Sets of Fine-granular Source Code Changes},
journal = {JSSST Journal on Computer Software},
year = 2017,
volume = 34,
note = {JSSST Best Research Paper Award},
pdf = {compsoft2017.pdf},
number = 1,
pages = {103--118},
month = feb,
annote = {Accepted 2016-09-13, Published 2017-01-25},
keywords = {Squeak, Smalltalk},
doi = {10.11309/jssst.34.1_103},
abstract = {Development teams benefit from version control systems, which manage shared access to code repositories and persist entire project histories for analysis or recovery. Such systems will be efficient if developers commit coherent and complete change sets. These best practices, however, are difficult to follow because multiple activities often interleave without notice and existing tools impede unraveling changes before committing them. We propose an interactive, graphical tool, called Thresher, that employs adaptable scripts to support developers to group and commit changes---especially for fine-granular change tracking where numerous changes are logged even in short programming sessions. We implemented our tool in Squeak/Smalltalk and derived a foundation of scripts from five refactoring sessions. We evaluated those scripts' precision and recall, which indicate a reduced manual effort because developers can focus on project-specific adjustments. Having such an interactive approach, they can easily intervene to accurately reconstruct activities and thus follow best practices.}
}