Advertisement

A Bayesian Belief Network for Modeling Open Source Software Maintenance Productivity

  • Stamatia BibiEmail author
  • Apostolos Ampatzoglou
  • Ioannis Stamelos
Conference paper
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 472)

Abstract

Maintenance is one of the most effort consuming activities in the software development lifecycle. Efficient maintenance within short release cycles depends highly on the underlying source code structure, in the sense that complex modules are more difficult to maintain. In this paper we attempt to unveil and discuss relationships between maintenance productivity, the structural quality of the source code and process metrics like the type of a release and the number of downloads. To achieve this goal, we developed a Bayesian Belief Network (BBN) involving several maintainability predictors and three managerial indices for maintenance (i.e., duration, production, and productivity) on 20 open source software projects. The results suggest that maintenance duration depends on inheritance, coupling, and process metrics. On the other hand maintenance production and productivity depend mostly on code quality metrics.

Keywords

Maintenance Productivity Software metrics Bayesian networks 

References

  1. 1.
    Abran, A., Nguyenkim, H.: Measurement of the maintenance process from a demand-based perspective. J. Softw. Maintenance: Res. Pract. 5(2), 63–90 (1993)CrossRefGoogle Scholar
  2. 2.
    Ampatzoglou, A., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: The financial aspect of managing technical debt: a systematic literature review. Inf. Softw. Technol. 64(8), 52–73 (2015). ElsevierCrossRefGoogle Scholar
  3. 3.
    Ampatzoglou, A., Michou, O., Stamelos, I.: Building and mining a repository of design pattern instances: practical and research benefits. Entertainment Comput. 4(2), 131–142 (2013). ElsevierCrossRefGoogle Scholar
  4. 4.
    Ampatzoglou, A., Chatzigeorgiou, A., Charalampidou, S., Avgeriou, P.: The effect of GoF design patterns on stability: a case study. Trans. Softw. Eng. 41(8), 781–802 (2015). IEEE Computer SocietyCrossRefGoogle Scholar
  5. 5.
    Arvanitou, E.M., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: Introducing a ripple effect measure: a theoretical and empirical validation. In: 9th International Symposium on Empirical Software Engineering and Measurement (ESEM 2015), Beijing, China. IEEE Computer Society, 22–23 October 2015Google Scholar
  6. 6.
    Boehm, B.W.: Software Engineering Economics, 1st edn. Prentice Hall PTR, Upper Saddle River (1981)zbMATHGoogle Scholar
  7. 7.
    Cheng, J., Greiner, R.: Learning Bayesian belief network classifiers: algorithms and system. In: 14th Canadian Conference on Artificial Intelligence (AI 2001) (2001)Google Scholar
  8. 8.
    Chidamber, S.R., Darcy, D.P., Kemerer, C.F.: Managerial use of metrics for object oriented software: an exploratory analysis. Trans. Softw. Eng. 24(8), 629–639 (1998). IEEE Computer SocietyCrossRefGoogle Scholar
  9. 9.
    Fenton, N., Neil, M., Marsh, W., Hearty, P., Marquez, D., Krause, P., Mishra, R.: Predicting software defects in varying development lifecycles using Bayesian nets. Inf. Softw. Technol. 49(1), 32–43 (2007)CrossRefGoogle Scholar
  10. 10.
    Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code, 1st edn. Addison-Wesley Professional, Boston (1999)Google Scholar
  11. 11.
    Gamma, E., Helms, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1995)Google Scholar
  12. 12.
    Ghods, M., Nelson, K.M.: Contributors to quality during software maintenance. Decis. Support Syst. 23(4), 361–369 (1998)CrossRefGoogle Scholar
  13. 13.
    Jensen, F.: Bayesian Networks and Decision Graphs. Springer, Heidelberg (2002)Google Scholar
  14. 14.
    Koch, S., Neumann, C.: Exploring the effects of process characteristics on product quality in open source software development. In: Principle Advancements in Database Management Technologies: New Applications and Frameworks, p. 132 (2009)Google Scholar
  15. 15.
    Li, W., Henry, S.: Object-oriented metrics that predict maintainability. J. Syst. Softw. 23(2), 111–122 (1993). ElsevierCrossRefGoogle Scholar
  16. 16.
    de Lucia, A., Pompella, E., Stefanucci, S.: Assessing effort estimation models for corrective software maintenance through empirical studies. Inf. Softw. Technol. 47(1), 3–15 (2005). ElsevierCrossRefGoogle Scholar
  17. 17.
    Martin, R.C.: Agile Software Development: Principles, Patterns and Practices. Prentice Hall, Upper Saddle River (2003)Google Scholar
  18. 18.
    Martin, R.C.: Clean Code: A Handbook of Agile Software Craftsmanship, 1st edn. Prentice Hall PTR, Upper Saddle River (2008)Google Scholar
  19. 19.
    de Melo, A.C.V., de J. Sanchez, A.: Bayesian networks in software maintenance management. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 394–398. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Midha, V., Bhattacherjee, A.: Governance practices and software maintenance: a study of open source projects. Decis. Support Syst. 54(1), 23–32 (2012)CrossRefGoogle Scholar
  21. 21.
    Mockus, A., Fielding, R., Herbsleb, J.: Two case studies of open source software development: Apache and Mozilla. Trans. Softw. Eng. Methodol. 11(3), 309–346 (2002). ACMCrossRefGoogle Scholar
  22. 22.
    Riaz, M., Mendes, E., Tempero, E.: A systematic review on software maintainability prediction and metrics. In: 3rd International Symposium on Empirical Software Engineering and Measurement (ESEM 2009), USA, pp. 367–377. IEEE Computer Society (2009)Google Scholar
  23. 23.
    Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, Hoboken (2012)CrossRefGoogle Scholar
  24. 24.
    Shepperd, M., Schofield, C., Kitchenham, B.: Effort estimation using analogy. In: 18th International Conference on Software Engineering (ICSE 1996), pp. 170–178. ACM (1996)Google Scholar
  25. 25.
    Stamelos, I., Angelis, L., Dimou, P., Sakellaris, E.: On the use of Bayesian Belief Networks for the prediction of software productivity. Inf. Softw. Technol. 45, 51–60 (2002). ElsevierCrossRefGoogle Scholar
  26. 26.
    van Koten, A., Gray, A.R.: An application of Bayesian network for predicting object-oriented software maintainability. Inf. Softw. Technol. 48(1), 59–67 (2006). ElsevierCrossRefGoogle Scholar
  27. 27.
    van Vliet, H.: Software Engineering: Principles and Practice. Wiley, Hoboken (2008)Google Scholar
  28. 28.
    Witten, I., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, Burlington (2005)zbMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  • Stamatia Bibi
    • 1
    Email author
  • Apostolos Ampatzoglou
    • 2
  • Ioannis Stamelos
    • 3
  1. 1.Department of Informatics and TelecommunicationsUniversity of Western MacedoniaKozaniGreece
  2. 2.Department of Computer ScienceUniversity of GroningenGroningenNetherlands
  3. 3.Department of Computer ScienceAristotle University of ThessalonikiThessalonikiGreece

Personalised recommendations