Advertisement

Complexity of the Code Changes and Issues Dependent Approach to Determine the Release Time of Software Product

  • V. B. SinghEmail author
  • K. K. Chaturvedi
  • Sujata Khatri
  • Meera Sharma
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10408)

Abstract

Changes in source code of the software products are inevitable. We need to change the source code to fix the feature improvements, new features and bugs. Feature improvements, new features and bugs are collectively termed as issues. The changes in the source code of the software negatively impact its product, but necessary for the evolution of the software. The changes in source code are quantified using entropy based measure and it is called the complexity of code changes. In this paper, we built regression models to predict the next release time of software using the complexity of code changes (entropy), feature improvements, new feature implementation and bugs fixed. The regression models have been built using Multiple Linear Regression (MLR), various kernel functions based Support Vector Regression (SVR) and k-Nearest Neighbor (k-NN) methods. The proposed models have been empirically validated using four open source sub-projects of the Apache software foundation. The proposed models exhibit a good fit. The developed models will assist release managers in release planning of the software.

Keywords

Entropy Complexity of code change Release problem Bug repositories Source code repositories 

References

  1. 1.
    Ruhe, G., Saliu, M.O.: The art and science of software release planning. IEEE Softw. 22(6), 47–53 (2005). doi: 10.1109/MS.2005.164 CrossRefGoogle Scholar
  2. 2.
    D’Ambros, M., Lanza, M., Robbes, R.: Evaluating defect prediction approaches: A benchmark and an extensive comparison. Empir. Softw. Eng. 17(4–5), 531–577 (2012)CrossRefGoogle Scholar
  3. 3.
    Hassan, A.E.: Predicting faults based on complexity of code change. In: The Proceedings of 31st International Conference on Software Engineering, pp. 78–88 (2009)Google Scholar
  4. 4.
    Singh, V.B., Chaturvedi, K.K.: Entropy based bug prediction using support vector regression. In: Proceedings of 12th International Conference on Intelligent Systems Design and Applications during 27–29 November 2012 at CUSAT, Kochi (India), pp. 746–751 (2012). ISBN: 978-1-4673-5118-8_c 2012, IEEE ExploreGoogle Scholar
  5. 5.
    Singh, V.B., Chaturvedi, K.K.: Improving the quality of software by quantifying the code change metric and predicting the bugs. In: Murgante, B., Misra, S., Carlini, M., Torre, C.M., Nguyen, H.-Q., Taniar, D., Apduhan, B.O., Gervasi, O. (eds.) ICCSA 2013. LNCS, vol. 7972, pp. 408–426. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39643-4_30 CrossRefGoogle Scholar
  6. 6.
    Xie, T., Zimmermann, T., van Deursen, A.: Introduction to the special issue on mining software repositories. Empir. Softw. Eng. 18(6), 1043–1046 (2013)CrossRefGoogle Scholar
  7. 7.
    Bagnall, A., Rayward-Smith, V., Whittley, I.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001). doi: 10.1016/S0950-5849(01)00194-X CrossRefGoogle Scholar
  8. 8.
    Glance, D.G.: Release criteria for the linux kernel. First Monday 9(4) 2004Google Scholar
  9. 9.
    Baker, P., Harman, M., Steinhofel, K., Skaliotis, A.: Search based approaches to component selection and prioritization for the next release problem. In: Proceedings of the 22nd International Conference on Software Maintenance (ICSM 2006), pp. 176–185 (2006). doi: 10.1109/ICSM.2006.56
  10. 10.
    Xuan, J., Jiang, H., Ren, Z., Luo, Z.: Solving the large scale next release problem with a backbone-based multilevel algorithm. IEEE Trans. Software Eng. 38(5), 1195–1212 (2012)CrossRefGoogle Scholar
  11. 11.
    Kapur, P.K., Singh, V.B., Singh, O.P., Singh, J.N.P.: Software release time based on multi-attribute utility functions. Int. J. Reliab. Qual. Saf. Eng. 20(4), 15 (2013)CrossRefGoogle Scholar
  12. 12.
    Chaturvedi, K.K., Singh, V.B.: Bug prediction using entropy based measures. Int. J. Knowl. Eng. Data Min. 2(4), 266–291 (2013)CrossRefGoogle Scholar
  13. 13.
    Chaturvedi, K.K., Kapur, P.K., Anand, S., Singh, V.B.: Predicting the complexity of code changes using entropy based measures. Int. J. Syst. Assur. Eng. Manage. 5(2), 155–164 (2014). doi: 10.1007/s13198-014-0226-5 CrossRefGoogle Scholar
  14. 14.
    Singh, V.B., Chaturvedi, K.K., Khatri, S.K., Kumar, V.: Bug prediction modeling using complexity of code changes. Int. J. Syst. Assur. Eng. Manage. 6(1), 44–60 (2015). doi: 10.1007/s13198-014-0242-5 CrossRefGoogle Scholar
  15. 15.
    Chaturvedi, K.K., Bedi, P., Misra, S., Singh, V.B.: An empirical validation of the complexity of code changes and bugs in predicting the release time of open source software. In: The Proceedings of 16th IEEE International Conference on Computational Science and Engineering held at University of Sydney, Australia during 3–5th December 2013, pp. 1201–1206 (2013). IEEE Computer SocietyGoogle Scholar
  16. 16.
    Lanza, M., Mocci, A., Ponzanelli, L.: The tragedy of defect prediction, prince of empirical software engineering research. IEEE Softw. 33(6), 102–105 (2016)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • V. B. Singh
    • 1
    Email author
  • K. K. Chaturvedi
    • 2
  • Sujata Khatri
    • 3
  • Meera Sharma
    • 4
  1. 1.Delhi College of Arts and CommerceUniversity of DelhiDelhiIndia
  2. 2.ICAR-IASRI, PusaNew DelhiIndia
  3. 3.DDU CollegeUniversity of DelhiNew DelhiIndia
  4. 4.Swami Shraddhanand CollegeUniversity of DelhiDelhiIndia

Personalised recommendations