Abstract
OCL formal specification has been widely used for precise software modeling. In general, it is used to express constraints on design documents. As a novel approach, its usage can be extended to support effective testing, such as testing fault-prone components to improve software quality. In this paper, CK (Chidamber and Kemerer) metrics that can be extracted from OCL expressions are validated against module complexity. Moreover, our study proposes a new metric suite that can be directly extracted from OCL expressions to quantify module complexity. A weight has been assigned to each metric to reflect its importance in fault-prone component identification. Our study shows that metrics collected from OCL specifications are good predictors of the fault-prone components of a system during design time. An early knowledge of fault-prone components of the system can be useful to distribute efforts required for software development and testing activities.
- Alshraideh Mohammad. A Complete Automation of Unit Testing for JavaScript Programs. Journal of Computer Science. vol. 4, no.12, pp. 1012--1019, 2008Google ScholarCross Ref
- B. Boehm and V. R. Basili. Software Defect Reduction Top 10 List. Computer, vol. 34, no. 1, pp. 135--137, 2001. Google ScholarDigital Library
- W. Wong Eric. Identify Fault-Prone Software Modules in Telecommunications Systems. Motorola 2006 System, Software and Simulation Symposium, Chicago, Illinois, 2006Google Scholar
- Malhotra Ruchika, Jain Ankita. Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality. Journal of Information Processing Systems, vol.8, no.2, pp.241--262, 2012.Google ScholarCross Ref
- Fenton E. Norman, Ohlsson Niclas. Quantitative Analysis of Faults and Failures in a Complex Software System. IEEE Transactions on Software Engineering, Vol. 26, No. 8, AUGUST 2000. Google ScholarDigital Library
- C. Briand, J.W. Daly, V. Porter, and J. Wüst. A Comprehensive Empirical Validation of Design Measures for Object-Oriented Systems. Proc. Fifth IEEE Int'l Software Metrics Symp, Bethesda, MD, pp. 43-53, Nov. 1998. Google ScholarDigital Library
- Ebert Christof. Metrics for Identifying Critical Components in Software Projects, Handbook of Software Engineering and Knowledge Engineering, 2001; Vol. 1. World Scientific PublishersGoogle Scholar
- Goseva-Popstojanova Katerina, Hassan Ahmed, Guedem Ajith, Abdelmoez Walid, M.Nassar Diaa Eldin, Ammar Hany, Mili Ali. Architectural Level Risk Analysis. IEEE Transactions on Software Engineering, Vol. 29, No.10, pp. 946--960, 2003. Google ScholarDigital Library
- Cortelessa Vittorio, Goseva-Popstojanova Katerina, Appukkutty Kalaivani, R. Guedem Ajith, Hassan Ahamed, Elnaggar Rania, Abdelmoez Walid, H.Ammar Hany. Model Based Performance Risk Analysis. IEEE Transactions on Software Engineering, Vol. 31, No.1, pp.3--20, 2005. Google ScholarDigital Library
- Emam. A., Khaled El, Melo B. Walcelio, C. Machado Javam. The Prediction of Faulty Classes using Object-Oriented Design Metrics. Journal of Systems and Software, Vol. 56, No.1, pp.63--75, 2001. Google ScholarDigital Library
- Osamu Mizuno, Hideaki Hata. Reduction of Fault-prone Modules using a Text Filtering Based Metric. International Journal of Software Engineering and Its Applications, Vol. 4, No. 1, 2010.Google Scholar
- Liguo Yu, Alok Mishra. Experience in Predicting Fault-Prone Software Modules using Complexity Metrics. Quality Technology & Quantitative Management, vol. 9, no. 4, pp. 421--433, 2012.Google ScholarCross Ref
- Jiang Yue, Cukic Bojan, Menzies Tim. Fault Prediction using Early Lifecycle Data. Proceedings of the 18th IEEE International Symposium on Software Reliability, IEEE Computer Society, Washington, DC, USA, pp.237--246, 2007. Google ScholarDigital Library
- Tomaszewski Piotr, Grahn Håkan, Lundberg Lars. A Method for an Accurate Early Prediction of Faults in Modified Classes. ICSM 2006: 487--496. Google ScholarDigital Library
- M.H. Tang, M.H. Kao, and M.H. Chen. An Empirical Study on Object-Oriented Metrics. In Proceedings Sixth International Symposium on Software Metrics, pp. 242--249, 1999. Google ScholarDigital Library
- Zhou Yuming, Hareton Leung. Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults. IEEE Transactions on Software Engineering, Vol. 32, No. 10, pp.771--789. 2006. Google ScholarDigital Library
- Malhotra Ruchika, Jain Ankita. Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality. Journal of Information Processing Systems, vol.8, no.2, pp.241--262, 2012.Google ScholarCross Ref
- Ray M. and Mohapatra D.P. Prioritizing Program Elements: A Pretesting Effort to Improve Software Quality. ISRN Software Engineering, Vol. 2012, Article ID 598150, doi:10.5402/2012/598150.Google ScholarCross Ref
- P.K. Suri, Kumar Sandeep. Simulator for Identifying Critical Components for Testing in a Component Based Software System. IJCSNS International Journal of Computer Science and Network Security, Vol.10, No.6, pp. 250--257.Google Scholar
- Janes A. Andrea, Scotto B. Marco, Pedrycz C. Witold, Russo A. Barbara, Stefanovic C. Milorad, Succi Giancarlo. Identification of defect-prone classes in telecommunication software systems. Information Sciences, Vol. 176, No. 24, pp. 3711--3734, 2006. Google ScholarDigital Library
- M. Olague Hector, H. Etzkorn Letha, Gholston Sampson, Quattlebaum Stephen, "Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Processes", IEEE Transactions on Software Engineering, Vol. 33, No. 6, 2007, pp. 402--419. Google ScholarDigital Library
- Gyimo' thy Tibor, Ferenc Rudolf, Istva' nSiket. Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction. IEEE Transactions on Software Engineering, Vol. 31, No. 10, 2005, pp. 897--910 Google ScholarDigital Library
- Victor R. Basili and Lionel C. Briand and Walcelio L. Melo. A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Transactions on Software Engineering, Piscataway, NJ, USA, October 1996 Google ScholarDigital Library
- Malhotra Ruchika, Jain Ankita. Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality. Journal of Information Processing Systems, Vol.8, No.2, pp.241--262, 2012.Google ScholarCross Ref
- Binkley, A.B. and Schach, S.R. Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures. Proceedings of the 20th International Conference on Software Engineering, pp. 452--455, 1998. Google ScholarDigital Library
- S.R. Chidamber and C.F. Kemerer. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, Vol.20, No.1, pp. 476--493, 1994. Google ScholarDigital Library
- Available online: file:///D:/Jan2013/CKmetrics/OOSoftwareMetrics-ClassLevel Java metrics-Google Scholar
- Camargo Cruz Ana E., Ochimizu Koichiro. Quality Prediction Model for Object Oriented Software Using UML Metrics. Proceedings of the 4th World Congress for Software Quality, Bethesda, Maryland, USA, September 2008Google Scholar
- Kumar Rakesh, Kaur Gurvinder. Comparing Complexity in Accordance with Object Oriented Metrics. International Journal of Computer Applications, Vol 15 No.8, pp. 0975--8887, February 2011.Google Scholar
- Henderson-Sellers B. Object-Oriented Metrics: Measures of Complexity. Prentice-Hall, 1996. Google ScholarDigital Library
- Jubair. J, Al-Ja'afer, Khan, Eddin, Sabri. M. Chidember Kemerer (CK) and Lorenze-Kidd(LK). Metrics to Assess Java Programs. King AbdullahII School for Information Technology, University of Jordan, Jordan.Google Scholar
- Frank Elberzhager, Alla Rosbach, Jürgen Münch, Robert Eschbach, "Reducing test effort: A Systematic Mapping Study on Existing Approaches", Journal of Information & Software Technology, vol. 54, no.10, pp. 1092--1106, 2012. Google ScholarDigital Library
- Nugroho Ariadi, Chaudron Michel R. V., Arisholm Erik, "Assessing UML Design Metrics for Predicting Fault- prone Classes in a Java System", 7th IEEE Working Conference on Mining Software Repositories (MSR), 2010, pp. 21--30.Google Scholar
- M. Zhao, C. Wohlin, N. Ohlsson and M. Xie, "A Comparison between Software Design and Code Metrics for the Prediction of Software Fault Content", Information and Software Technology, Vol. 40, No. 14, pp. 801--809, 1998.Google ScholarDigital Library
Index Terms
- Empirical evidence on OCL formal specification-based metrics as a predictor of fault-proneness
Recommendations
Are Slice-Based Cohesion Metrics Actually Useful in Effort-Aware Post-Release Fault-Proneness Prediction? An Empirical Study
Background. Slice-based cohesion metrics leverage program slices with respect to the output variables of a module to quantify the strength of functional relatedness of the elements within the module. Although slice-based cohesion metrics have been ...
A Validation of Object-Oriented Design Metrics as Quality Indicators
This paper presents the results of a study in which we empirically investigated the suite of object-oriented (OO) design metrics introduced in [13]. More specifically, our goal is to assess these metrics as predictors of fault-prone classes and, ...
Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness
ISEC '17: Proceedings of the 10th Innovations in Software Engineering ConferenceChange-prone classes or modules are defined as software components in the source code which are likely to change in the future. Change-proneness prediction are useful to the maintenance team as they can optimize and focus their testing resources on the ...
Comments