ABSTRACT
Quality of software systems is continuing to be an important investigation of software systems. Assessing and predicting quality attributes of object-oriented design are performed by using software metrics, knowing that a good internal structure of software system influences in a great extent its external quality attributes.
This study presents an empirical investigation of software reliability. The goal is to identify the applicability of object-oriented design metrics for reliability prediction. Firstly, an estimation of the reliability is conducted. We proposed a new reliability metric at the class level considering two perspectives related to failures/bugs found, i.e. priority and severity. Later, the estimated reliability value helps us to predict the reliability of other software projects based on their internal structure. The prediction value for reliability can be made earlier in the software development life cycle.
The approach’s methodology for prediction is a statistical method, the multiple linear regression considering as dependent variable for our analysis the bugs count for a class (reflected in the newly proposed metric) and as independent variables the values of the Chidamber and Kemerer (CK) metrics. The results indicated that the most influential CK metrics in predicting reliability are WMC (Weighted Methods per Class) and CBO (Coupling Between Object classes), and that the RFC (Response For Class) and LCOM (Lack of Cohesion of Methods) metrics have no impact on the value of reliability. The root mean square error is used to validate our proposed regression equation considering data from the other four projects.
- Fernando B. Abreu and Walcelio Melo. 1996. Evaluating the impact of objectoriented design on software quality. In Proceedings of the 3rd International Software Metrics Symposium. 90–99. Google ScholarDigital Library
- Harald Altinger, Sebastian Siegl, Yanja Dajsuren, and Franz Wotawa. 2015. A Novel Industry Grade Dataset for Fault Prediction Based on Model-driven Developed Automotive Embedded Software. In Proceedings of the 12th Working Conference on Mining Software Repositories. IEEE Press, Piscataway, NJ, USA, 494–497. Google ScholarDigital Library
- Victor Basili and D. Rombach. 1988. The TAME project: towards improvementoriented software environments. IEEE Transactions on Software Engineering 14, 6 (June 1988), 758–773. Google ScholarDigital Library
- Victor R. Basili, Lionel C. Briand, and Walcelio L. Melo. 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering 22, 10 (Oct 1996), 751–761. Google ScholarDigital Library
- A. Budur, C. Serban, and A. Vescan. 2019. Predicting Reliability of Object-Oriented Systems using Metrics-based Neural Network. In The 30th International Symposium on Software Reliability Engineering (submitted). 0–0 (under review).Google Scholar
- S.R. Chidamber and Chris F. Kemerer. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20, 6 (June 1994), 476–493. Google ScholarDigital Library
- Marco D’Ambros, Michele Lanza, and Romain Robbes. 2010. An extensive comparison of bug prediction approaches. In 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010). 31–41. 2010.5463279Google ScholarCross Ref
- Amir Elmishali, Roni Stern, and Meir Kalech. 2018. An Artificial Intelligence paradigm for troubleshooting software bugs. Engineering Applications of Artificial Intelligence 69 (2018), 147 – 156.Google ScholarCross Ref
- Equinox. Online; accessed 29 Feb 2019. Eclipse Equinox. https://projects.eclipse. org/projects/eclipse.equinoxGoogle Scholar
- Norman Fenton. 1994. Software measurement: a necessary scientific basis. IEEE Transactions on Software Engineering 20, 3 (March 1994), 199–206. org/10.1109/32.268921 Google ScholarDigital Library
- Kim Herzig. 2014. Using Pre-Release Test Failures to Build Early Post-Release Defect Prediction Models. In Proceedings of the 2014 IEEE 25th International Symposium on Software Reliability Engineering (ISSRE ’14). IEEE Computer Society, Washington, DC, USA, 300–311. Google ScholarDigital Library
- ISO25010. 2019. ISO25010 description information, https://iso25000.com/index. php/en/iso-25000-standards/iso-25010. https://www.iso.org/standard/35733.Google Scholar
- html. {Online; accessed 30-May-2019}.Google Scholar
- ISO9126. 2019. ISO9126 description information,ISO 9126-1:2001-Software engineering - Product quality. http://www.iso.org. {Online; accessed 30-May-2019}.Google Scholar
- JDT. Online; accessed 29 Feb 2019. JDT Core Component. https://www.eclipse. org/jdt/core/index.phpGoogle Scholar
- Barbara Kitchenham, Shari L. Pfleeger, and Norman E. Fenton. 1995. Towards a framework for software measurement validation. IEEE Transactions on Software Engineering 21, 12 (Dec 1995), 929–944. Google ScholarDigital Library
- Wei Li. 1998. Another metric suite for object-oriented programming. Journal of Systems and Software 44, 2 (1998), 155 – 162. 1212(98)10052-3 Google ScholarDigital Library
- Wei Li and Sallie Henry. 1993. Object-oriented metrics that predict maintainability. Journal of Systems and Software 23, 2 (1993), 111 – 122. 0164-1212(93)90077-B Object-Oriented Software. Google ScholarDigital Library
- M. H. Licht. 1995. Multiple regression and correlation. L. G. Grimm and P. R. Yarnold (Eds.), Reading and understanding multivariate statistics, Washington, DC, US: American Psychological Association 0, 0 (1995), 19 – 64.Google Scholar
- Lucene. Online; accessed 29 Feb 2019. Lucene. http://lucene.apache.org/Google Scholar
- R. Marinescu. 2002. Measurement and Quality in Object Oriented Design. PhD Thesis, Faculty of Automatics and Computer Science, University of Timisoara.Google Scholar
- J.A. McCall, P.K. Richards, and G.F. Walters. 1977. Factors in Software Quality. Griffiths Air Force Base, N.Y. Rome Air Development Center Air Force Systems Command (1977).Google Scholar
- Mylyn. Online; accessed 29 Feb 2019. Mylyn.Google Scholar
- Standards Coordinating Committee of the IEEE Computer Society. {n. d.}. IEEE Standard Glossary of Software Engineering Terminology, IEEE-STD-610.12-1990.Google Scholar
- PDE. Online; accessed 29 Feb 2019. PDE UI. https://www.eclipse.org/pde/pde-uiGoogle Scholar
- R. Pietrantuono and S. Russo. 2016. On Adaptive Sampling-Based Testing for Software Reliability Assessment. In 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE). 1–11. 2016.50Google Scholar
- R. Pietrantuono, S. Russo, and A. Guerriero. 2018. Run-Time Reliability Estimation of Microservice Architectures. In 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE). 25–35. 2018.00014Google Scholar
- A. Quyoum, UdM. Din Dar, and S.M.K. Quadr. 2010. Improving software reliability using software engineering approachâĂŤa review. Int. J. Comput. Appl. 10, 5 (2010), 41 – 47.Google Scholar
- Mei-Huei Tang, Ming-Hun Kao, and Mei-Hwa Chen. 1999. An empirical study on object-oriented metrics. In Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403). 242–249. Google ScholarDigital Library
- Robert K. Yin. 2008. Case Study Research: Design and Methods (Applied Social Research Methods) (fourth edition. ed.). Sage Publications.Google Scholar
- Thomas Zimmermann, Nachiappan Nagappan, and Andreas Zeller. 2008. Predicting Bugs from History. Springer Berlin Heidelberg, Berlin, Heidelberg, 69–88.Google Scholar
Index Terms
- Predicting reliability by severity and priority of defects
Recommendations
Towards a Reliability Prediction Model based on Internal Structure and Post-Release Defects Using Neural Networks
EASE '21: Proceedings of the 25th International Conference on Evaluation and Assessment in Software EngineeringReliability is one of the most important quality attributes of a software system, addressing the system’s ability to perform the required functionalities under stated conditions, for a stated period of time. Nowadays, a system failure could threaten ...
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 ...
Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults
In the last decade, empirical studies on object-oriented design metrics have shown some of them to be useful for predicting the fault-proneness of classes in object-oriented software systems. This research did not, however, distinguish among faults ...
Comments