Abstract
Software repositories represent a data source from which we can extract interesting information to be presented to the developers working on their maintenance tasks. Various studies use the software repositories to extract sets of files that changed frequently in the past. However, they do not consider feedback from developers on whether they would like to use this kind of information. The aim of our research is to support developers in maintenance tasks using suggestions which other files they should also change. We investigate three software repositories to find coupled file changes to support the software developers. We also propose a set of attributes from the versioning system, the issue tracking system and the project documentation. We contrast our findings with the feedback gathered using survey and interviews with the developers. According to our results, small repositories make an insightful analysis difficult. Both from experienced and inexperienced developers, the feedback was mostly neutral. Most of the attributes we proposed were accepted as interesting by the developers. Furthermore, developers also suggested other additional issues to be relevant, e.g. the context of the coupled changes. Generally, developers did not reject the coupled file changes suggestions. However, the presentation form of coupled changes and context information need to be taken into account.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
All questions are available on http://dx.doi.org/10.5281/zenodo.15065.
- 6.
- 7.
- 8.
The analysis results are available at http://dx.doi.org/10.5281/zenodo.15065.
References
Agrawal, R., Srikant, R.: Fast algorithms for mining association rules in large databases. In: Proceedings of the 20th International Conference on Very Large Data Bases, VLDB 1994, pp. 487–499 (1994)
Bavota, G., Dit, B., Oliveto, R., Di Penta, M., Poshyvanyk, D., De Lucia, A.: An empirical study on the developers perception of software coupling. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 692–701 (2013)
Bieman, J., Andrews, A., Yang, H.: Understanding change-proneness in OO software through visualization. In: 11th IEEE International Workshop on Program Comprehension, pp. 44–53, May 2003
Bird, C., Rigby, P.C., Barr, E.T., Hamilton, D.J., Germán, D.M., Devanbu, P.T.: The promises and perils of mining git. In: MSR, pp. 1–10 (2009)
Canfora, G., Cerulo, L.: Impact analysis by mining software and change request repositories. In: 11th IEEE International Symposium on Software Metrics, p. 29, September 2005
Carlsson, E.: Mining git repositories: an introduction to repository mining (2013)
D’Ambros, M., Lanza, M., Robbes, R.: On the relationship between change coupling and software defects. In: WCRE, pp. 135–144 (2009)
Fischer, M., Pinzger, M., Gall, H.: Populating a release history database from version control and bug tracking systems. In: Proceedings of the International Conference on Software Maintenance, ICSM 2003, p. 23 (2003)
Fluri, B., Gall, H., Pinzger, M.: Fine-grained analysis of change couplings. In: Fifth IEEE International Workshop on Source Code Analysis and Manipulation, pp. 66–74, September 2005
Fournier-Viger, P.: How to auto-adjust the minimum support threshold according to the data size (2013). http://data-mining.philippe-fournier-viger.com/
Frawley, W.J., Piatetsky-shapiro, G., Matheus, C.J.: Knowledge discovery in databases: an overview (1992)
Gall, H., Jazayeri, M., Krajewski, J.: CVS release history data for detecting logical couplings. In: Proceedings of Sixth International Workshop on Principles of Software Evolution, pp. 13–23, September 2003
German, D.M.: Mining CVS repositories, the softchange experience. In: 1st International Workshop on Mining Software Repositories, pp. 17–21 (2004)
Győrödi, C., Győrödi, R.: A comparative study of association rules mining algorithms (2004)
Han, J., Mining, D.: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco (2005)
Han, J., Pei, J., Yin, Y., Mao, R.: Mining frequent patterns without candidate generation: a frequent-pattern tree approach. Data Min. Knowl. Discov. 8(1), 53–87 (2004)
Hassan, A.E., Holt, R.C.: Predicting change propagation in software systems. In: Proceedings of the 20th IEEE International Conference on Software Maintenance, ICSM 2004, pp. 284–293 (2004)
Hattori, L., dos Santos Jr., G., Cardoso, F., Sampaio, M.: Mining software repositories for software change impact analysis: a case study. In: Proceedings of the 23rd Brazilian Symposium on Databases, SBBD 2008, pp. 210–223 (2008)
Kagdi, H., Collard, M.L., Maletic, J.I.: A survey and taxonomy of approaches for mining software repositories in the context of software evolution. J. Softw. Maint. Evol. 19(2), 77–131 (2007)
Kagdi, H., Yusuf, S., Maletic, J.I.: Mining sequences of changed-files from version histories. In: Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, pp. 47–53 (2006)
Loeliger, J.: Version Control with Git - Powerful Techniques for Centralized and Distributed Project Management. O’Reilly, New York (2009)
McGarry, K.: A survey of interestingness measures for knowledge discovery. Knowl. Eng. Rev. 20(1), 39–61 (2005)
Ramadani, J., Wagner, S.: Are suggestions of coupled file changes interesting? In: Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering, pp. 15–26 (2016)
Revelle, M., Gethers, M., Poshyvanyk, D.: Using structural and textual information to capture feature coupling in object-oriented software. Empirical Softw. Engg. 16(6), 773–811 (2011)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Engg. 14(2), 131–164 (2009)
Sayles, J., et al.: z/OS Traditional Application Maintenance and Support. IBM Redbooks (2011)
Shirabad, J., Lethbridge, T., Matwin, S.: Mining the maintenance history of a legacy software system. In: Proceedings of International Conference on Software Maintenance, ICSM 2003, pp. 95–104, September 2003
Steven, J., Zach, W.: Bad commit smells (2013). http://pages.cs.wisc.edu/~sjj/docs/commits.pdf
Stevens, W.P., Myers, G.J., Constantine, L.L.: Structured design. IBM Syst. J. 13(2), 115–139 (1974)
Strauss, A., Corbin, J.M.: Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications, USA (1998)
van Rysselberghe, F., Demeyer, S.: Mining version control systems for FACs (frequently applied changes). In: the International Workshop on Mining Repositories, Edinburgh, Scotland, UK (2004)
Wu, R., Zhang, H., Kim, S., Cheung, S.-C.: Relink: recovering links between bugs and changes. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 2011, pp. 15–25 (2011)
Ying, A.T.T., Murphy, G.C., Ng, R.T., Chu-Carroll, M.: Predicting source code changes by mining change history. IEEE Trans. Softw. Eng. 30(9), 574–586 (2004)
Zimmermann, T., Kim, S., Zeller, A., Whitehead, Jr., E.J.: Mining version archives for co-changed lines. In: Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, pp. 72–75 (2006)
Zimmermann, T., Weisgerber, P., Diehl, S., Zeller, A.: Mining version histories to guide software changes. In: Proceedings of the 26th International Conference on Software Engineering, ICSE 2004, pp. 563–572 (2004)
Acknowledgment
The authors would like to thank Asim Abdulkhaleq for his help in the interview transcripts and coding for the Grounded Theory analysis.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Ramadani, J., Wagner, S. (2016). How Interesting Are Suggestions of Coupled File Changes for Software Developers?. In: Maciaszek, L., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2016. Communications in Computer and Information Science, vol 703. Springer, Cham. https://doi.org/10.1007/978-3-319-56390-9_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-56390-9_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-56389-3
Online ISBN: 978-3-319-56390-9
eBook Packages: Computer ScienceComputer Science (R0)