by Christoph Mayr-Dorn, Alexander Egyed
Abstract:
Developers commonly define tasks to help coordinate software development efforts-whether they be feature implementation, refactoring, or bug fixes. Developers establish links between tasks to express implicit dependencies that needs explicit handling - dependencies that often require the developers responsible for a given task to assess how changes in a linked task affect their own work and vice versa (i.e., change propagation). While seemingly useful, it is unknown if change propagation indeed coincides with task links. No study has investigated to what extent change propagation actually occurs between task pairs and whether it is able to serve as a metric for characterizing the underlying task dependency. In this paper, we study the temporal relationship between developer reading and changing of source code in relationship to task links. We identify seven situations that explain the varying correlation of change propagation with linked task pairs and find six motifs describing when change propagation occurs between non-linked task pairs. Our paper demonstrates that task links are indeed useful for recommending which artifacts to monitor for changes, which developers to involve in a task, or which tasks to inspect.
Reference:
Does the Propagation of Artifact Changes across Tasks reflect Work Dependencies? (Christoph Mayr-Dorn, Alexander Egyed), In ICSE '18: 40th International Conference on Software Engineering , May 27-June 3, 2018, Gothenburg, 2018.
Bibtex Entry:
@Conference{Mayr-DornE18,
author = {Christoph Mayr-Dorn and Alexander Egyed},
title = {Does the Propagation of Artifact Changes across Tasks reflect Work Dependencies?},
booktitle = {ICSE '18: 40th International Conference on Software Engineering , May 27-June 3, 2018, Gothenburg},
year = {2018},
abstract = {Developers commonly define tasks to help coordinate software development
efforts-whether they be feature implementation, refactoring, or
bug fixes. Developers establish links between tasks to express implicit
dependencies that needs explicit handling - dependencies that often
require the developers responsible for a given task to assess how
changes in a linked task affect their own work and vice versa (i.e.,
change propagation). While seemingly useful, it is unknown if change
propagation indeed coincides with task links. No study has investigated
to what extent change propagation actually occurs between task pairs
and whether it is able to serve as a metric for characterizing the
underlying task dependency. In this paper, we study the temporal
relationship between developer reading and changing of source code
in relationship to task links. We identify seven situations that
explain the varying correlation of change propagation with linked
task pairs and find six motifs describing when change propagation
occurs between non-linked task pairs. Our paper demonstrates that
task links are indeed useful for recommending which artifacts to
monitor for changes, which developers to involve in a task, or which
tasks to inspect.},
doi = {10.1145/3180155.3180185},
file = {:Conferences\\ICSE 2018 - Does the Propagation of Artifact Changes across Tasks reflect Work Dependencies\\Does the Propagation of Artifact Changes across Tasks reflect Work Dependencies-preprint.pdf:PDF},
keywords = {FWF P29415},
}