Skip to main content

What Strokes to Modify in the Painting? Code Changes Prediction for Object-Oriented Software

  • Conference paper
  • First Online:
Software Analysis, Testing, and Evolution (SATE 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11293))

Included in the following conference series:

  • 588 Accesses

Abstract

Software systems shall evolve to fulfill users’ increasingly various and sophisticated needs. As they become larger and more complex, the corresponding testing and maintenance have become a practical research challenge. In this paper, we employ an approach that can identify the change-proneness in the source code of new object-oriented software releases and predict the corresponding change sizes. We first define two metrics, namely Class Change Metric and Change Size Metric, to describe the features and sizes of code changes. A new software release may be based on several previous releases. Thus, we employ an Entropy Weight Method to calculate the best window size for determining the number of previous releases to use in the prediction of change-proneness in the new release. Based on a series of change evolution matrices, a code change prediction approach is proposed based on the Gauss Process Regression (GPR) algorithm. Experiments are conducted on 17 software systems collected from GitHub to evaluate our prediction approach. The results show that our approach outperforms three existing state-of-the-art approaches with significantly higher prediction accuracy.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://gromit.iiar.pwr.wroc.pl/p_inf/ckjm.

References

  1. Amoui, M., Salehie, M., Tahvildari, L.: Temporal software change prediction using neural networks. Int. J. Softw. Eng. Knowl. Eng. 19(07), 995–1014 (2009)

    Article  Google Scholar 

  2. Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)

    Article  Google Scholar 

  3. Chidamber, S.R., Kemerer, C.F.: Towards a metrics suite for object oriented design, vol. 26. ACM (1991)

    Google Scholar 

  4. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  5. D’Ambros, M., Lanza, M., Robbes, R.: On the relationship between change coupling and software defects. In: 16th Working Conference on Reverse Engineering, WCRE 2009, pp. 135–144. IEEE (2009)

    Google Scholar 

  6. Elish, M.O., Al-Rahman Al-Khiaty, M.: A suite of metrics for quantifying historical changes to predict future change-prone classes in object-oriented software. J. Softw. Evol. Process 25(5), 407–437 (2013)

    Article  Google Scholar 

  7. Eski, S., Buzluca, F.: An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes. In: 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 566–571. IEEE (2011)

    Google Scholar 

  8. Giger, E., Pinzger, M., Gall, H.C.: Can we predict types of code changes? An empirical analysis. In: 2012 9th IEEE Working Conference on Mining Software Repositories (MSR), pp. 217–226. IEEE (2012)

    Google Scholar 

  9. Girba, T., Ducasse, S., Lanza, M.: Yesterday’s weather: guiding early reverse engineering efforts by summarizing the evolution of changes. In: Proceedings of 20th IEEE International Conference on Software Maintenance, pp. 40–49. IEEE (2004)

    Google Scholar 

  10. Graves, T.L., Karr, A.F., Marron, J.S., Siy, H.: Predicting fault incidence using software change history. IEEE Trans. Softw. Eng. 26(7), 653–661 (2000)

    Article  Google Scholar 

  11. Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Prentice-Hall, Inc., Upper Saddle River (1995)

    Google Scholar 

  12. Koru, A.G., Liu, H.: Identifying and characterizing change-prone classes in two large-scale open-source products. J. Syst. Softw. 80(1), 63–73 (2007)

    Article  Google Scholar 

  13. Koru, A.G., Tian, J.: Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products. IEEE Trans. Softw. Eng. 31(8), 625–642 (2005)

    Article  Google Scholar 

  14. Lu, H., Zhou, Y., Xu, B., Leung, H., Chen, L.: The ability of object-oriented metrics to predict change-proneness: a meta-analysis. Empir. Softw. Eng. 17(3), 200–242 (2012)

    Article  Google Scholar 

  15. Malhotra, R., Khanna, M.: Inter project validation for change proneness prediction using object-oriented metrics. Softw. Eng.: Int. J. 3(1), 21–31 (2013)

    Google Scholar 

  16. Malhotra, R., Khanna, M.: Investigation of relationship between object-oriented metrics and change proneness. Int. J. Mach. Learn. Cybern. 4(4), 273–286 (2013)

    Article  Google Scholar 

  17. Malhotra, R., Khanna, M.: An exploratory study for software change prediction in object-oriented systems using hybridized techniques. Autom. Softw. Eng. 24(3), 673–717 (2017)

    Article  Google Scholar 

  18. Malhotra, R., Khanna, M., Raje, R.R.: On the application of search-based techniques for software engineering predictive modeling: a systematic review and future directions. Swarm Evol. Comput. 32, 85–109 (2017)

    Article  Google Scholar 

  19. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Upper Saddle River (2002)

    Google Scholar 

  20. Tsantalis, N., Chatzigeorgiou, A., Stephanides, G.: Predicting the probability of change in object-oriented systems. IEEE Trans. Softw. Eng. 31(7), 601–614 (2005)

    Article  Google Scholar 

  21. Zhou, B., Neamtiu, I., Gupta, R.: A cross-platform analysis of bugs and bug-fixing in open source projects: desktop vs. android vs. iOS. In: Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, p. 7. ACM (2015)

    Google Scholar 

  22. Zhou, Y., Leung, H., Xu, B.: Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness. IEEE Trans. Softw. Eng. 35(5), 607–623 (2009)

    Article  Google Scholar 

Download references

Acknowledgment

This work is supported by the National Natural Science Foundation of China grants 61572350 and the National Key R&D Program of China grant NO.2017YF-B1401201.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qiang He .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zhang, D., Chen, S., He, Q., Feng, Z., Huang, K. (2018). What Strokes to Modify in the Painting? Code Changes Prediction for Object-Oriented Software. In: Bu, L., Xiong, Y. (eds) Software Analysis, Testing, and Evolution. SATE 2018. Lecture Notes in Computer Science(), vol 11293. Springer, Cham. https://doi.org/10.1007/978-3-030-04272-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-04272-1_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-04271-4

  • Online ISBN: 978-3-030-04272-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics