Unravel Programming Sessions with THRESHER: Identifying Coherent and Complete Sets of Fine-granular Source Code Changes
-
- TAEUMEL Marcel
- Hasso Plattner Institute, University of Potsdam, Germany
-
- PLATZ Stephanie
- Hasso Plattner Institute, University of Potsdam, Germany
-
- STEINERT Bastian
- Hasso Plattner Institute, University of Potsdam, Germany
-
- HIRSCHFELD Robert
- Hasso Plattner Institute, University of Potsdam, Germany
-
- MASUHARA Hidehiko
- Department of Mathematical and Computing Science, Tokyo Institute of Technology
Bibliographic Information
- Other Title
-
- 完全かつ一貫した細粒度コード変更集合の検出によりプログラミングセッションを解きほぐすTHRESHER
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.
Journal
-
- Computer Software
-
Computer Software 34 (1), 1_103-1_118, 2017
Japan Society for Software Science and Technology
- Tweet
Details 詳細情報について
-
- CRID
- 1390001204737004416
-
- NII Article ID
- 130005345114
-
- ISSN
- 02896540
-
- Text Lang
- ja
-
- Data Source
-
- JaLC
- CiNii Articles
- KAKEN
-
- Abstract License Flag
- Disallowed