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.
- Fasil Bantelay, Motahareh Bahrami Zanjani, and Huzefa H. Kagdi. 2013. Comparing and Combining Evolutionary Couplings from Interactions and Commits. In 20th Working Conference on Reverse Engineering, WCRE 2013, Koblenz, Germany, October 14--17, 2013, Ralf Lämmel, Rocco Oliveto, and Romain Robbes (Eds.). IEEE Computer Society, 311--320.Google ScholarCross Ref
- Lionel C. Briand, Yvan Labiche, and L. O'Sullivan. 2003. Impact Analysis and Change Management of UML Models. In 19th International Conference on Software Maintenance (ICSM 2003), The Architecture of Existing Systems, 22--26 September 2003, Amsterdam, The Netherlands. IEEE Computer Society, 256--265. Google ScholarDigital Library
- Marcelo Cataldo, Patrick A. Wagstrom, James D. Herbsleb, and Kathleen M. Carley. 2006. Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools. In Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work (CSCW '06). ACM, New York, NY, USA, 353--362. Google ScholarDigital Library
- Davor Cubranic, Gail C. Murphy, Janice Singer, and Kellogg S. Booth. 2005. Hipikat: A Project Memory for Software Development. IEEE Trans. Software Eng. 31, 6 (2005), 446--465. Google ScholarDigital Library
- Marco D'Ambros, Michele Lanza, and Romain Robbes. 2009. On the Relationship Between Change Coupling and Software Defects. In 16th Working Conference on Reverse Engineering, WCRE 2009, 13--16 October 2009, Lille, France, Andy Zaidman, Giuliano Antoniol, and Stéphane Ducasse (Eds.). IEEE Computer Society, 135--144. Google ScholarDigital Library
- Cleidson R. B. de Souza and David F. Redmiles. 2008. An Empirical Study of Software Developers' Management of Dependencies and Changes, See {25}, 241--250. Google ScholarDigital Library
- C. R. B. de Souza and D. F. Redmiles. 2011. The Awareness Network, To Whom Should I Display My Actions? And, Whose Actions Should I Monitor? IEEE Transactions on Software Engineering 37, 3 (May 2011), 325--340. Google ScholarDigital Library
- Robert DeLine, Mary Czerwinski, and George G. Robertson. 2005. Easing Program Comprehension by Sharing Navigation Data. In 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2005), 21--24 September 2005, Dallas, TX, USA. IEEE Computer Society, 241--248. Google ScholarDigital Library
- Alexander Egyed. 2011. Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Trans. Software Eng. 37, 2 (2011), 188--204. Google ScholarDigital Library
- Alexander Egyed, Emmanuel Letier, and Anthony Finkelstein. 2008. Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15--19 September 2008, L'Aquila, Italy. IEEE Computer Society, 99--108. Google ScholarDigital Library
- Harald C. Gall, Karin Hajek, and Mehdi Jazayeri. 1998. Detection of Logical Coupling Based on Product Release History. In 1998 International Conference on Software Maintenance, ICSM 1998, Bethesda, Maryland, USA, November 16--19, 1998. IEEE Computer Society, 190--197. Google ScholarDigital Library
- Petra Heck and Andy Zaidman. 2013. An analysis of requirements evolution in open source projects: recommendations for issue trackers. In 13th International Workshop on Principles of Software Evolution, IWPSE 2013, Proceedings, August 19--20, 2013, Saint Petersburg, Russia, Romain Robbes and Gregorio Robles (Eds.). ACM, 43--52. Google ScholarDigital Library
- Li Jiang, Kathleen M. Carley, and Armin Eberlein. 2012. Assessing team performance from a socio-technical congruence perspective. In 2012 International Conference on Software and System Process, ICSSP 2012, Zurich, Switzerland, June 2--3, 2012, D. Ross Jeffery, David Raffo, Ove Armbrust, and LiGuo Huang (Eds.). IEEE, 160--169. Google ScholarDigital Library
- Massila Kamalrudin, John C. Grundy, and John G. Hosking. 2010. Managing Consistency between Textual Requirements, Abstract Interactions and Essential Use Cases. In Proceedings of the 34th Annual IEEE International Computer Software and Applications Conference, COMPSAC 2010, Seoul, Korea, 19--23 July 2010, Sheikh Iqbal Ahamed, Doo-Hwan Bae, Sung Deok Cha, Carl K. Chang, Rajesh Subramanyan, Eric Wong, and Hen-I Yang (Eds.). IEEE Computer Society, 327--336. Google ScholarDigital Library
- Mik Kersten and Gail C. Murphy. 2006. Using Task Context to Improve Programmer Productivity. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2006, Portland, Oregon, USA, November 5--11, 2006, Michal Young and Premkumar T. Devanbu (Eds.). ACM, 1--11. Google ScholarDigital Library
- Takashi Kobayashi, Nozomu Kato, and Kiyoshi Agusa. 2012. Interaction Histories Mining for Software Change Guide. In Proceedings of the Third International Workshop on Recommendation Systems for Software Engineering, RSSE 2012, Zurich, Switzerland, June 4, 2012, Walid Maalej, Martin P. Robillard, Robert J. Walker, and Thomas Zimmermann (Eds.). IEEE, 73--77. Google ScholarDigital Library
- Thomas W. Malone and Kevin Crowston. 1994. The Interdisciplinary Study of Coordination. ACM Comput. Surv. 26, 1 (1994), 87--119. Google ScholarDigital Library
- Christoph Mayr-Dorn. 2018. Supporting Online Material for ICSE2018 submission. (Jan 2018).Google Scholar
- Sebastian C. Muller and Thomas Fritz. 2013. Stakeholders' Information Needs for Artifacts and Their Dependencies in a Real World Context. In 2013 IEEE International Conference on Software Maintenance, Eindhoven, The Netherlands, September 22--28, 2013. IEEE Computer Society, 290--299. Google ScholarDigital Library
- Christian Nentwich, Wolfgang Emmerich, and Anthony Finkelstein. 2003. Consistency Management with Repair Actions. In Proceedings of the 25th International Conference on Software Engineering, May 3--10, 2003, Portland, Oregon, USA, Lori A. Clarke, Laurie Dillon, and Walter F. Tichy (Eds.). IEEE Computer Society, 455--464. Google ScholarDigital Library
- Romain Robbes and Michele Lanza. 2008. SpyWare: a Cchange-Aware Development Toolset, See {25}, 847--850. Google ScholarDigital Library
- Romain Robbes, Damien Pollet, and Michele Lanza. 2010. Replaying IDE Interactions to Evaluate and Improve Change Prediction Approaches. In Proceedings of the 7th International Working Conference on Mining Software Repositories, MSR 2010 (Co-located with ICSE), Cape Town, South Africa, May 2--3, 2010, Proceedings, Jim Whitehead and Thomas Zimmermann (Eds.). IEEE Computer Society, 161--170.Google ScholarCross Ref
- David Röthlisberger, Oscar Nierstrasz, Stéphane Ducasse, Damien Pollet, and Romain Robbes. 2009. Supporting Task-Oriented Navigation in IDEs with Configurable HeatMaps. In The 17th IEEE International Conference on Program Comprehension, ICPC 2009, Vancouver, British Columbia, Canada, May 17--19, 2009. IEEE Computer Society, 253--257.Google Scholar
- Anita Sarma, Jim Herbsleb, and André Van Der Hoek. 2008. Challenges in Measuring, Understanding, and Achieving Social-Technical Congruence. In Proceedings of Socio-Technical Congruence Workshop, In Conjuction With the International Conference on Software Engineering.Google Scholar
- Wilhelm Schäfer, Matthew B. Dwyer, and Volker Gruhn (Eds.). 2008. 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10--18, 2008. ACM.Google Scholar
- Janice Singer, Robert Elves, and Margaret-Anne D. Storey. 2005. NavTracks: Supporting Navigation in Software Maintenance. In 21st IEEE International Conference on Software Maintenance (ICSM 2005), 25--30 September 2005, Budapest, Hungary. IEEE Computer Society, 325--334. Google ScholarDigital Library
- Anselm Strauss and Juliet Corbin. 1990. Basics of Qualitative Research: Grounded Theory Procedures and Techniques. Sage Publications, Inc.Google Scholar
- C. Albert Thompson, Gail C. Murphy, Marc Palyart, and Marko Gasparic. 2016. How Software Developers use Work Breakdown Relationships in Issue Repositories. In Proceedings of the 13th International Conference on Mining Software Repositories, MSR 2016, Austin, TX, USA, May 14--22, 2016, Miryung Kim, Romain Robbes, and Christian Bird (Eds.). ACM, 281--285. Google ScholarDigital Library
- Giuseppe Valetto, Mary Helander, Kate Ehrlich, Sunita Chulani, Mark Wegman, and Clay Williams. 2007. Using Software Repositories to Investigate Socio-Technical Congruence in Development Projects. In Mining Software Repositories, 2007. ICSE Workshops MSR'07. Fourth International Workshop on. IEEE, 25--25. Google ScholarDigital Library
- Xiaoyin Wang, Lu Zhang, Tao Xie, John Anvik, and Jiasu Sun. 2008. An approach to Detecting Duplicate Bug Reports using Natural Language and Execution Information. In Software Engineering, 2008. ICSE'08. ACM/IEEE 30th International Conference on. IEEE, 461--470. Google ScholarDigital Library
- Annie T. T. Ying, Gail C. Murphy, Raymond T. Ng, and Mark Chu-Carroll. 2004. Predicting Source Code Changes by Mining Change History. IEEE Trans. Software Eng. 30, 9 (2004), 574--586. Google ScholarDigital Library
- Thomas Zimmermann, Andreas Zeller, Peter Weissgerber, and Stephan Diehl. 2005. Mining Version Histories to Guide Software Changes. IEEE Transactions on Software Engineering 31, 6 (2005), 429--445. Google ScholarDigital Library
- Lijie Zou and Michael W. Godfrey. 2006. An Industrial Case Study of Program Artifacts Viewed During Maintenance Tasks. In 13th Working Conference on Reverse Engineering (WCRE 2006), 23--27 October 2006, Benevento, Italy. IEEE Computer Society, 71--82. Google ScholarDigital Library
- Lijie Zou, Michael W. Godfrey, and Ahmed E. Hassan. 2007. Detecting Interaction Coupling from Task Interaction Histories. In 15th International Conference on Program Comprehension (ICPC 2007), June 26--29, 2007, Banff, Alberta, Canada. IEEE Computer Society, 135--144. Google ScholarDigital Library
Index Terms
- Does the propagation of artifact changes across tasks reflect work dependencies?
Recommendations
Security versus performance bugs: a case study on Firefox
MSR '11: Proceedings of the 8th Working Conference on Mining Software RepositoriesA good understanding of the impact of different types of bugs on various project aspects is essential to improve software quality research and practice. For instance, we would expect that security bugs are fixed faster than other types of bugs due to ...
Using contexts similarity to predict relationships between tasks
We can predict tasks relationships by comparing the contexts of the tasks.The more related the tasks, the better context similarity predicts the relationship.Comparing contexts is roughly as accurate as mining text descriptions of tasks.Depending on ...
Feature dependencies as change propagators
ContextA Software Product Line (SPL) is a set of software systems that share common functionalities, so-called features. When features are related, we consider this relation a feature dependency. Whenever a new feature is added, the presence of feature ...
Comments