TY - GEN
T1 - The Impact of Task Granularity on Co-evolution Analyses
AU - Miura, Keisuke
AU - McIntosh, Shane
AU - Kamei, Yasutaka
AU - Hassan, Ahmed E.
AU - Ubayashi, Naoyasu
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/9/8
Y1 - 2016/9/8
N2 - Background: Substantial research in the software evolution field aims to recover knowledge about development from the project history that is archived in repositories, such as a Version Control System (VCS). However, the data that is archived in these repositories can be analyzed at different levels of granularity. Although software evolution is a well-studied phenomenon at the revision-level, revisions may be too fine-grained to accurately represent development tasks. Aim: In this paper, we set out to understand the impact that the revision granularity has on co-change analyses. Method: We conduct an empirical study of 14 open source systems that are developed by the Apache Software Foundation. To understand the impact that the revision granularity may have on co-change activity, we study work items, i.e., logical groups of revisions that address a single issue. Results: We find that work item grouping has the potential to impact co-change activity, since 29% of work items consist of 2 or more revisions in 7 of the 14 studied systems. Deeper quantitative analysis shows that, in 7 of the 14 studied systems: (1) 11% of largest work items are entirely composed of small revisions, and would be missed by traditional approaches to filter or analyze large changes, (2) 83% of revisions that co-change under a single work item cannot be grouped using the typical configuration of the sliding time window technique and (3) 48% of work items that involve multiple developers cannot be grouped at the revision-level. Conclusions: Since the work item granularity is the natural means that practitioners use to separate development tasks, future software evolution studies, especially co-change analyses, should be conducted at the work item level.
AB - Background: Substantial research in the software evolution field aims to recover knowledge about development from the project history that is archived in repositories, such as a Version Control System (VCS). However, the data that is archived in these repositories can be analyzed at different levels of granularity. Although software evolution is a well-studied phenomenon at the revision-level, revisions may be too fine-grained to accurately represent development tasks. Aim: In this paper, we set out to understand the impact that the revision granularity has on co-change analyses. Method: We conduct an empirical study of 14 open source systems that are developed by the Apache Software Foundation. To understand the impact that the revision granularity may have on co-change activity, we study work items, i.e., logical groups of revisions that address a single issue. Results: We find that work item grouping has the potential to impact co-change activity, since 29% of work items consist of 2 or more revisions in 7 of the 14 studied systems. Deeper quantitative analysis shows that, in 7 of the 14 studied systems: (1) 11% of largest work items are entirely composed of small revisions, and would be missed by traditional approaches to filter or analyze large changes, (2) 83% of revisions that co-change under a single work item cannot be grouped using the typical configuration of the sliding time window technique and (3) 48% of work items that involve multiple developers cannot be grouped at the revision-level. Conclusions: Since the work item granularity is the natural means that practitioners use to separate development tasks, future software evolution studies, especially co-change analyses, should be conducted at the work item level.
UR - http://www.scopus.com/inward/record.url?scp=84991585111&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84991585111&partnerID=8YFLogxK
U2 - 10.1145/2961111.2962607
DO - 10.1145/2961111.2962607
M3 - Conference contribution
AN - SCOPUS:84991585111
T3 - International Symposium on Empirical Software Engineering and Measurement
BT - 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016
PB - IEEE Computer Society
T2 - 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016
Y2 - 8 September 2016 through 9 September 2016
ER -