Code Ownership: Impact on Maintainability
Software systems erode during development, which results in high maintenance costs in the long term. Is it possible to narrow down where exactly this erosion happens? Can we infer the future erosion based on past code changes?
In this paper we investigate code ownership and show that a further step of code quality decrease is more likely to happen due to the changes in source files modified by several developers in the past, compared to files with clear ownership. We estimate the level of code ownership and maintainability changes for every commit of three open-source and one proprietary software systems. With the help of Wilcoxon rank test we compare the ownership values of the files in commits resulting maintainability increase with those of decreasing the maintainability. Three tests out of the four gave strong results and the fourth one did not contradict them either. The conclusion of this study is a generalization of the already known fact that common code is more error-prone than those of developed by fewer developers.
This result could be utilized in identifying the “hot spots” of the source code from maintainability point of view. A possible IDE plug-in, which indicates the risk of decreasing the maintainability of the source code, could help the architect and warn the developers.
KeywordsCode ownership ISO/IEC 25010 Source code maintainability Wilcoxon test
Unable to display preview. Download preview PDF.
- 1.Bakota, T., Hegedűs, P., Körtvélyesi, P., Ferenc, R., Gyimóthy, T.: A probabilistic software quality model. In: 2011 27th IEEE International Conference on Software Maintenance (ICSM), pp. 243–252. IEEE (2011)Google Scholar
- 2.Bakota, T., Hegedűs, P., Ladányi, G., Körtvélyesi, P., Ferenc, R., Gyimóthy, T.: A cost model based on software maintainability. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 316–325. IEEE (2012)Google Scholar
- 4.Bird, C., Nagappan, N., Gall, H., Murphy, B., Devanbu, P.: Putting it all together: using socio-technical networks to predict failures. In: 20th International Symposium on Software Reliability Engineering, ISSRE 2009, pp. 109–119. IEEE (2009)Google Scholar
- 5.Bird, C., Nagappan, N., Murphy, B., Gall, H., Devanbu, P.: Don’t touch my code!: examining the effects of ownership on software quality. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 4–14. ACM (2011)Google Scholar
- 7.Faragó, C.: Variance of the quality change of the source code caused by version control operations. In: The 9th Conference of PhD Students in Computer Science (CSCS) (2014)Google Scholar
- 8.Faragó, C., Hegedũs, P., Ferenc, R.: The impact of version control operations on the quality change of the source code. In: Murgante, B., Misra, S., Rocha, A.M.A.C., Torre, C., Rocha, J.G., Falcão, M.I., Taniar, D., Apduhan, B.O., Gervasi, O. (eds.) ICCSA 2014, Part V. LNCS, vol. 8583, pp. 353–369. Springer, Heidelberg (2014) Google Scholar
- 9.Faragó, C., Hegedűs, P., Végh, Á.Z., Ferenc, R.: Connection between version control operations and quality change of the source code. Acta Cybernetica 21, 585–607 (2014)Google Scholar
- 10.Fritz, T., Murphy, G.C., Hill, E.: Does a programmer’s activity indicate knowledge of code? In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 341–350. ACM (2007)Google Scholar
- 12.Hattori, L., Lanza, M.: Mining the history of synchronous changes to refine code ownership. In: 6th IEEE International Working Conference on Mining Software Repositories, MSR 2009, pp. 141–150. IEEE (2009)Google Scholar
- 13.Hegedűs, P.: A probabilistic quality model for C# - an industrial case study. Acta Cybernetica 21(1), 135–147 (2013)Google Scholar
- 14.ISO/IEC: ISO/IEC 9126. Software Engineering - Product quality 6.5. ISO/IEC (2001)Google Scholar
- 15.LaToza, T.D., Venolia, G., DeLine, R.: Maintaining mental models: a study of developer work habits. In: Proceedings of the 28th International Conference on Software Engineering, pp. 492–501. ACM (2006)Google Scholar
- 16.Mockus, A., Fielding, R.T., Herbsleb, J.: A case study of open source software development: the apache server. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 263–272. ACM (2000)Google Scholar
- 18.R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2013). http://www.R-project.org/
- 19.Rahman, F., Devanbu, P.: Ownership, experience and defects: a fine-grained study of authorship. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 491–500. ACM (2011)Google Scholar