Determining the Tested Classes with Software Metrics

Early detection and correction of errors appearing in software projects reduces the risk of exceeding the estimated time and cost. An efficient and effective test plan should be implemented to detect potential errors as early as possible. In the earlier phases, codes can be analyzed by efficiently employing software metric and insight can be gained about error susceptibility and measures can be taken if necessary. It is possible to classify software metric according to the time of collecting data, information used in the measurement, type and interval of the data generated. Considering software metric depending on the type and interval of the data generated, object-oriented software metric is widely used in the literature. There are three main metric sets used for software projects that are developed as object-oriented. These are Chidamber & Kemerer, MOOD and QMOOD metric sets. In this study, an approach for identifying the classes that should primarily be tested has been developed by using the object-oriented software metric. Then, this approach is applied for selected versions of the project developed. According to the results obtained, the correct determination rate of sum of the metrics method, which was developed to identify the classes that should primarily be tested, is ranged between 55% and 68%. In the random selection method, which was used to make comparisons, the correct determination rate for identifying the classes that should primarily be tested is ranged between 9.23% and 11.05%. In the results obtained using sum of the metrics method, a significant rate of improvement is observed compared to the random selection method.

___

  • [1] Tiftik N., Öztarak, H., Ercek, G., Özgün, S.; Sis-tem/Yazılım Geliştirme Sürecinde Doğrulama Faaliyetleri, 3. Ulusal Yazilim Mühendisliği Sempozyumu (UYMS’07), Ankara, 2007.
  • [2] Song, O., Sheppard, M., Cartwright, M., and Mair, C.; Software Defect Association Mining and Defect Correction Effort Prediction, IEEE Transactions on Software Engineering, 2006, 32(2), pp. 69-82.
  • [3] Fenton, N. and Ohlsson, N.; Quantitative Analysis of Faults and Failures in a Complex Software System, IEEE Transactions on Software Engineering, 2000, 26(8), pp. 797-814.
  • [4] Xiaowei, W.; The Metric System about Software Maintenance”, 2011 International Conference of Information Technology, Computer Engineering and Mana-gement Sciences, Wuhan, 2011.
  • [5] Kaur, A., Sandhu, P. S., Brar, A. S.; An Empirical Approach for Software Fault Prediction, 5th International Conference on Industrial and Information Systems, pp. 261–265, Mangalore, India, 2010.
  • [6] Raymond, P. L., Weimer, B., Weimer, W. R.; Learning a Metric for Code Readability, IEEE Transactions of Software Engineering, 2010, 36(4), pp. 546-558.
  • [7] Ogasawara, H., Yamada, A., Kojo, M.; Experiences of Software Quality Management Using Metrics through the Life-Cycle, 18th International Conference on Software Engineering, pp. 179–188, Berlin, 1996.
  • [8] Chaumun, M., Kabaili, H., Keller, R., and Lustman, F.; Change Impact Model for Changeability Assessment in Object-Oriented Software Systems, Science of Computer Programming, Elsevier, 2002, 45(2-3), pp. 155-174.
  • [9] Lee, Y., Yang, J., and Chang, K. H.; Metrics and Evolution in Open Source Software, Seventh International Conference on Quality Software (QSIC 2007), pp. 191-197, IEEE: Portland, OR, 2007.
  • [10] Kastro, Y., Bener, A. B.; A defect prediction method for software versioning, Software Quality Journal, Springer, 2008, 16(4), pp. 543-562.
  • [11] Li, L., Leung, H.; Mining Static Code Metrics for a Robust Prediction of Software Defect Proneness, International Symposium on Empirical Software Engi-neering and Measurement, pp. 207-214, IEEE: Banff, AB, 2011.
  • [12] NASA Datasets, Erişim Tarihi: 22.08.2014, Çevrimiçi: http://promise.site.uottawa.ca/SERepository/datasetspage.html
  • [13] Efil, İ.; Toplam Kalite Yönetimi ve Toplam Kaliteye Ulaşmada Önemli Bir Araç: ISO 9000 Kalite Güvence Sistemi, Bursa: Uludağ Üniversitesi Basımevi, s.29, 1995.
  • [14] Galin, D.; Software Quality Assurance: From Theory to Implementation”, Addison Wesley, 2004; pp. 510-514.
  • [15] Loon, H. V.; Process Assessment and ISO/IEC 15504: A Reference Book, Springer, 2nd Edition, 2007.
  • [16] Hofmann, H., Yedlin, D. K., Mishler, J., Kushner, S.; CMMI for Outsourcing: Guidelines for Software, Systems, and IT Acquisition, Addison-Wesley Professional, 1st Ed., 2007, pp. 2-4.
  • [17] Yücalar, F.; Yazılım Ölçümüne Giriş, Maltepe Üniversitesi, Yazılım Mühendisliği Bölümü, Yazılım Ölçütleri Ders Notları, 2013.
  • [18] Chidamber, S., Kemerer, C.; A Metrics Suite for Object-Oriented Design, IEEE Transactions on Software Engineering, 1994, 20(6), pp. 476-493.
  • [19] Brito e Abreu, F., Pereira, G., Soursa, P.; Coupling-Guided Cluster Analysis Approach to Reengineer the Modularity of Object-Oriented Systems, Conference on Software Maintenance and Reengineering, pp. 13-22, IEEE: Washington, DC, USA, 2000.
  • [20] J. Bansiya and C. Davis; A Hierarchical Model for Object-Oriented Design Quality Assessment, IEEE Transactions on Software Engineering, 2002, 28(1), pp. 4-17.
  • [21] Erdemir, U., Tekin, U., Buzluca, F.; Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi, Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu (YKGS’2008), İstanbul, 2008.