Advertisement

Code Ownership: Impact on Maintainability

  • Csaba Faragó
  • Péter Hegedűs
  • Rudolf Ferenc
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9159)

Abstract

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.

Keywords

Code ownership ISO/IEC 25010 Source code maintainability Wilcoxon test 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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
  3. 3.
    Bird, C., Nagappan, N., Devanbu, P., Gall, H., Murphy, B.: Does distributed development affect software quality?: an empirical case study of windows vista. Communications of the ACM 52(8), 85–93 (2009)CrossRefGoogle Scholar
  4. 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. 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
  6. 6.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  7. 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. 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. 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. 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
  11. 11.
    Gyimóthy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Transactions on Software Engineering 31(10), 897–910 (2005)CrossRefGoogle Scholar
  12. 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. 13.
    Hegedűs, P.: A probabilistic quality model for C# - an industrial case study. Acta Cybernetica 21(1), 135–147 (2013)Google Scholar
  14. 14.
    ISO/IEC: ISO/IEC 9126. Software Engineering - Product quality 6.5. ISO/IEC (2001)Google Scholar
  15. 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. 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
  17. 17.
    Nordberg III, M.E.: Managing code ownership. IEEE Software 20(2), 26–33 (2003)CrossRefGoogle Scholar
  18. 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. 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
  20. 20.
    Weyuker, E.J., Ostrand, T.J., Bell, R.M.: Do too many cooks spoil the broth? using the number of developers to enhance defect prediction models. Empirical Software Engineering 13(5), 539–559 (2008)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Software EngineeringUniversity of SzegedSzegedHungary

Personalised recommendations