Yazılım Hata Kestirimine Nesne Yönelimli Ölçütlerin Etkisi
Yıl 2019,
Cilt: 1 Sayı: 1, 1 - 8, 30.12.2019
Tülin Erçelebi Ayyıldız
,
Begüm Erkal
Öz
Yazılım projelerinin
sonucunda amaç sadece doğru çalışan bir ürün çıkarmak değildir.
Gerçekleştirilen yazılımın kalitesel anlamda değerlendirilmesi ve kalitenin
ölçülmesi de gerekmektedir. Gerçekleştirilen
yazılım ne kadar kaliteli olursa bakım onarım aşamasındaki maliyetler de o
kadar azalacaktır. Yazılım kalitesini etkileyen önemli noktalardan biri yazılımdaki
hataların sayısıdır. Yazılımlar hem geliştirme aşamasında hem de sonrasında
hatalar içerebilmektedir. Bu sebeple geliştirilen yazılımlardaki hataların
erken safhada tespit edilebilmesi oldukça önem taşımaktadır. Bu çalışmanın amacı;
geliştirilmiş açık kaynak kodlu yazılım projelerindeki hata sayısının
belirlenmesi ve bu belirlenen hata sayıları ile yazılım kalite ölçütleri
arasındaki ilişkinin analiz edilmesidir. Bu amaçla, 20 adet açık kaynak kodlu
java programlama diliyle geliştirilmiş oyun projeleri veri seti olarak
kullanılmıştır. Yazılım kalite ölçütlerinin analizinde Understand adı verilen
statik kod analiz aracı kullanılmıştır. Projelerdeki hata sayılarını tespit
etmek için Spotbugs hata tespiti aracından faydalanılmıştır. Sonraki aşamalarda
yazılım hataları ve yazılım kalite ölçütleri arasındaki ilişkiyi çıkarabilmek
için doğrusal regresyon yöntemi uygulanmıştır. Analiz sonucunda çıkan modelin
kestirim doğruluğu yapılmıştır. Sonuçlar, yazılım hata sayısını tahmin etmek için
yazılım kalite ölçütlerindan yararlanmanın mümkün olduğunu göstermektedir.
Kaynakça
- [1] Z. Li, L. Tan, X. Wang, S. Lu, Y. Zhou and C. Zhai, "Have Things Changed Now?", in Proc. of the 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID 2006, San Jose, California, USA, October 21, 2006, ACM Newyork, NY, USA, 2006 pp. 25-33.
- [2] B. Boehm, Software Engineering Economics, NJ: Prentice-Hall, 1981.
- [3] Y. Singh, Software Testing, UK: Cambridge University Press, 2012.
- [4] M. D'Ambros, M. Lanza and R. Robbes, " Evaluating Defect Prediction Approaches: A Benchmark and an Extensive Comparison", Empirical Software Engineering, vol. 17, pp. 531-577, August 2011. Doi: 10.1007/s10664-011-9173-9.
- [5] R. Moser, W. Pedrycz and G. Succi, "A Comparative Analysis of The Efficiency of Change Metrics and Static Code Attributes for Defect Prediction", in Proc. of International Conference on Software Engineering, 10-18 May 2008, Leipzig, Germany, Available: IEEE Xplore, http://www.ieee.org. [Accessed: 18 June 2019].
- [6] S. Kim, T. Zimmermann, E. J. Whitehead, Jr. and A. Zeller, "Predicting Faults from Cached History", in Proc. of the 2007 29th International Conference on Software Engineering (ICSE07), 20-26 May 2007, Minneapolis, USA. Available: IEEE Xplore, http://www.ieee.org [Accessed: 18 June 2019].
[7] V. Basili, L. Briand and W. Melo, "A Validation of Object-Oriented Design Metrics as Quality Indicators", IEEE Transactions on Software Engineering, vol. 22, no. 10 pp. 751-761, Oct. 1996. Doi: 10.1109/32.544352.
- [8] A. E. Hassan, "Predicting Faults Using the Complexity of Code Changes", in Proc. of 2009 31st International Conference on Software Engineering, 16-24 May 2009, Vancouver, BC, Canada. Available: IEEE Xplore, http://www.ieee.org. [Accessed: 22 July 2019].
- [9] A. S. Nuez-Varela, H. G. Perez-Gonzalez, F.E. Martinez-Perez, and C. Soubervielle-Montalvo, "Source Code Metrics: A Systematic Mapping Study", Journal of Systems and Software, vol. 128, pp. 164-197, April 2017. Doi: 10.1016/j.jss.2017.03.044.
- [10] N. E. Fenton and M. Neil, "Software Metrics: Successes, Failures and New Directions", Journal of Systems and Software, vol. 47, pp. 149-157, July 1999. Doi: 10.1016/S0164-1212(99)00035-7.
- [11] T. Mccabe, "A Complexity Measure", IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 308-320, December 1976. Doi: 10.1109/TSE.1976.233837.
- [12] W. Li and S. Henry, "Object-Oriented Metrics that Predict Maintainability", Journal of Systems and Software, vol. 23, no. 2, pp. 11-112, November 1993. Doi: 10.1016/0164-1212(93)90077-B.
- [13] S. Chidamber and C. Kemerer, "A Metrics Suite for Object-Oriented Design", IEEE Transactions on Software Engineering, vol. 20, no.6, pp. 476-493, Jun 1994. Doi: 10.1109/32.295895.
- [14] M. H. Halstead, "Natural laws controlling algorithm structure?", ACM SIGNPLAN Notices, vol. 7, no. 2, pp. 19-26, February 1972. Doi: 10.1145/953363.953366.
- [15] M. D'Ambros, M. Lanza and R. Robbes, "On the Relationship Between Change Coupling and Software Defects", in Proc. of the 2009 16th Working Conference on Reverse Engineering, October 13-16, 2009, Lille, France. Available: IEEE Xplore, http://www.ieee.org. [Accessed: 20 June 2019].
- [16] T. Zimmermann, R. Premraj and A. Zeller, "Predicting Defects for Eclipse", in Proc. of the 2007 Third International Workshop on Predictor Models in Software Engineering, PROMISE' 07, 20-26 May 2007, Washington, DC, USA. Available: IEEE Xplore, http://www.ieee.org. [Accessed: 22 July 2019].
- [17] T. Gyimothy, R. Ferenc and I. Siket, "Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction" IEEE Transactions on Software Engineering, vol. 31, no. 10, pp. 897-910, Nov. 2005. Doi: 10.1109/TSE.2005.112.
- [18] Y. Perez-Riverol, L. Gatto, R.Wang, T. Sachsenberg, J. Uszkoreit, F.V. Leprevost,C. Fufezan, T. Tement, S.J.Eglen, D.S.Katz, T.J.Pollard, A.Konovalov, R.M. Flight, K. Blin and J. A. Vizcaino, "Ten Simple Rules for Taking Advantage of Git and Github", PLOS Computational Biology, vol. 12, no.7, July 2016. Doi: 10.1371/journal.pcbi.1004947.
- [19] Understand scitools Features page, scitools.com, Copyright 1996, Available: http://www.scitools.com/features/. [Accessed: January. 15, 2019].
- [20] M. Thapaliyal and G. Verma, "Software Defects and Object-Oriented Metrics - An Empirical Analysis", Journal of Computer Applications, vol. 9, no. 5, pp. 41-44, November 2010. Doi: 10.5120/1379-1859.
- [21] K. M. Breesam, "Metrics for Object-Oriented Design Focusing on Class Inheritance Metrics" in Proc. of the 2007 2nd International Conference on Dependability of Computer Systems, DepCoS-RELCOMEX '07, July 2007, Szklarska, Poland. Available: IEEE Xplore. [Accessed: 15 June 2019].
- [22] U. Erdemir, U. Tekin and F. Buzluca, " Object Oriented Software Metrics and Software Quality", Software Quality and Software Development Tools Symposium, 9-10 October, Istanbul. Available: http://softwaresuccess.org. [Accessed: 10 September 2019].
- [23] "Spotbugs", spotbugs.github, Available: http://spotbugs.github.io. [Accessed: April. 11, 2019].
- [24] D. C. Montgomery and G. C. Runger, Applied Statistics and Probability for Engineers, New York, NT: John Wiley & Sons, 2010.
- [25] A. Field, Discovering Statistics Using SPSS (5th ed.), United States: Sage Publications, 2009.
- [26] B. G. Tabachnick and L. S. Fidell, Using Multivariate Statistics (3rd ed.), Boston: Allyn & Bacon, 1996.
- [27] S. D. Conte, H. E. Dunsmore and V.Y. Shen, Software Engineering Metrics and Models, Redwood City, CA, USA: The Benjamin/Cummings, 1986.
- [28] G. Tate, J. Verner, Software Costing in Practice, The Economics of Information Systems and Software, Oxford, Butterworth-Heinemann, 1991.