Untangling Development Tasks with Software Developer's Activity

A combination of several activities is required to solve a development task, but in the end, developer reports only part of it. It is difficult to understand whether all committed files were changed because of the reason in a given description. Software developers work on multiple tasks at once and often fail to distinguish them with separate commits because of their unknowingness, as well as of limitations of the current tools for source code versioning. Our idea is to address this problem with identification of software developer's activities from a stream of interaction data in real time. We attempt to identify situations when a developer has worked on multiple tasks, to prevent him from tangling them in a single commit, or to aid him to separate certain activities from the task, e.g., Floss refactoring.

[1]  Dongmei Zhang,et al.  How do software engineers understand code changes?: an exploratory study in industry , 2012, SIGSOFT FSE.

[2]  Andreas Zeller,et al.  The impact of tangled code changes , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[3]  Thomas Fritz,et al.  Developers' code context models for change tasks , 2014, SIGSOFT FSE.

[4]  Walid Maalej,et al.  Automatically detecting developer activities and problems in software development work , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[5]  Mária Bieliková,et al.  Platform Independent Software Development Monitoring: Design of an Architecture , 2014, SOFSEM.

[6]  Romain Robbes,et al.  Characterizing and Understanding Development Sessions , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[7]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[8]  Thomas Fritz,et al.  Collecting and Processing Interaction Data for Recommendation Systems , 2014, Recommendation Systems in Software Engineering.