Advertisement

The Impact of Version Control Operations on the Quality Change of the Source Code

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

Abstract

The number of software systems under development and maintenance is rapidly increasing. The quality of a system’s source code tends to decrease during its lifetime which is a problem because maintaining low quality code consumes a big portion of the available efforts. In this research we investigated one aspect of code change, the version control commit operations (add, update, delete). We studied the impact of these operations on the maintainability of the code. We calculated the ISO/IEC 9126 quality attributes for thousands of revisions of an industrial and three open-source software systems. We also collected the cardinality of each version control operation type for every investigated revision. Based on these data, we identified that operation Add has a rather positive, while operation Update has a rather negative effect on the quality. On the other hand, for operation Delete we could not find a clear connection to quality change.

Keywords

Software Maintainability Software Erosion Source Code Version Control ISO/IEC 9126 Case Study 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Atkins, D.L., Ball, T., Graves, T.L., Mockus, A.: Using Version Control Data to Evaluate the Impact of Software Tools: A Case Study of the Version Editor. IEEE Transactions on Software Engineering 28(7), 625–637 (2002)CrossRefGoogle Scholar
  2. 2.
    Bakota, T., Hegedűs, P., Körtvélyesi, P., Ferenc, R., Gyimóthy, T.: A Probabilistic Software Quality Model. In: Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM 2011), pp. 368–377. IEEE Computer Society, Williamsburg (2011)Google Scholar
  3. 3.
    Bakota, T., Hegedus, P., Ladányi, G., Körtvélyesi, P., Ferenc, R., Gyimóthy, T.: A Cost Model Based on Software Maintainability. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM 2012), pp. 316–325. IEEE Computer Society, Riva del Garda (2012)CrossRefGoogle Scholar
  4. 4.
    Bernstein, A., Bachmann, A.: When Process Data Quality Affects the Number of Bugs: Correlations in Software Engineering Datasets. In: Proceedings of the 7th IEEE Working Conference on Mining Software Repositories, MSR 2010, pp. 62–71 (2010)Google Scholar
  5. 5.
    Fluri, B., Wursch, M., Gall, H.C.: Do Code and Comments Co-evolve? On the Relation between Source Code and Comment Changes. In: 14th Working Conference on Reverse Engineering, WCRE 2007, pp. 70–79. IEEE (2007)Google Scholar
  6. 6.
    Gall, H., Jazayeri, M., Krajewski, J.: CVS Release History Data for Detecting Logical Couplings. In: Proceedings of the Sixth International Workshop on Principles of Software Evolution, pp. 13–23. IEEE (2003)Google Scholar
  7. 7.
    Hayes, J.H., Patel, S.C., Zhao, L.: A Metrics-Based Software Maintenance Effort Model. In: Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR 2004), pp. 254–260. IEEE Computer Society, Washington, DC (2004)Google Scholar
  8. 8.
    Hindle, A., German, D.M., Holt, R.: What Do Large Commits Tell Us?: a Taxonomical Study of Large Commits. In: Proceedings of the 2008 International Working Conference on Mining Software Repositories, MSR 2008, pp. 99–108. ACM, New York (2008)Google Scholar
  9. 9.
    Hollander, M., Wolfe, D.A.: Nonparametric Statistical Methods, 2nd edn. Wiley-Interscience (January 1999)Google Scholar
  10. 10.
    ISO/IEC: ISO/IEC 9126. Software Engineering – Product quality 6.5. ISO/IEC (2001)Google Scholar
  11. 11.
    Koch, S., Neumann, C.: Exploring the Effects of Process Characteristics on Product Quality in Open Source Software Development. Journal of Database Management 19(2), 31 (2008)CrossRefGoogle Scholar
  12. 12.
    Mockus, A., Weiss, D.M., Zhang, P.: Understanding and Predicting Effort in Software Projects. In: Proceedings of the 25th International Conference on Software Engineering (ICSE 2003), pp. 274–284. IEEE Computer Society, Washington, DC (2003)CrossRefGoogle Scholar
  13. 13.
    Moser, R., Pedrycz, W., Sillitti, A., Succi, G.: A Model to Identify Refactoring Effort during Maintenance by Mining Source Code Repositories. In: Jedlitschka, A., Salo, O. (eds.) PROFES 2008. LNCS, vol. 5089, pp. 360–370. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Parnas, D.L.: Software Aging. In: Proceedings of the 16th International Conference on Software Engineering, ICSE 1994, pp. 279–287. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  15. 15.
    Peters, R., Zaidman, A.: Evaluating the Lifespan of Code Smells using Software Repository Mining. In: Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering, CSMR 2012, pp. 411–416. IEEE Computer Society, Washington, DC (2012)CrossRefGoogle Scholar
  16. 16.
    Pratap, A., Chaudhary, R., Yadav, K.: Estimation of software maintainability using fuzzy logic technique. In: 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), pp. 486–492 (February 2014)Google Scholar
  17. 17.
    R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2013), http://www.R-project.org/
  18. 18.
    Ratzinger, J., Sigmund, T., Vorburger, P., Gall, H.: Mining Software Evolution to Predict Refactoring. In: Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, ESEM 2007, pp. 354–363. IEEE Computer Society, Washington, DC (2007)Google Scholar
  19. 19.
    Schofield, C., Tansey, B., Xing, Z., Stroulia, E.: Digging the Development Dust for Refactorings. In: Proceedings of the 14th IEEE International Conference on Program Comprehension, ICPC 2006, pp. 23–34. IEEE Computer Society, Washington, DC (2006)Google Scholar
  20. 20.
    Stroggylos, K., Spinellis, D.: Refactoring–Does It Improve Software Quality? In: Fifth International Workshop on Software Quality, WoSQ 2007: ICSE Workshops 2007, p. 10. IEEE (2007)Google Scholar
  21. 21.
    Tóth, G., Végh, Á.Z., Beszédes, Á., Schrettner, L., Gergely, T., Gyimóthy, T.: Adjusting Effort Estimation Using Micro-Productivity Profiles. In: Proceedings of the 12th Symposium on Programming Languages and Software Tools (SPLST 2011), pp. 207–218 (October 2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Csaba Faragó
    • 1
  • Péter Hegedũs
    • 1
  • Rudolf Ferenc
    • 1
  1. 1.University of Szeged Department of Software EngineeringSzegedHungary

Personalised recommendations