Metric-based software reliability prediction approach and its application

This paper proposes a software reliability prediction approach based on software metrics. Metrics measurement results are connected to quantitative reliability predictions through defect information and consideration of the operational environments. An application of the proposed approach to a safety critical software deployed in a nuclear power plant is discussed. Results show that the proposed prediction approach could be applied using a variety of software metrics at different stages of the software development life cycle and could be used as an indicator of software quality. Therefore the approach could also guide the development process and help make design decisions. Experiences and lessons learned from the application are also discussed.

[1]  Kapil Sharma,et al.  Ranking of software engineering metrics by fuzzy‐based matrix methodology , 2013, Softw. Test. Verification Reliab..

[2]  David N. Card,et al.  Measuring software design complexity , 1988, J. Syst. Softw..

[4]  Jeffrey M. Voas,et al.  PIE: A Dynamic Failure-Based Technique , 1992, IEEE Trans. Software Eng..

[5]  Barry W. Johnson,et al.  Using statistics of the extremes for software reliability analysis , 1999 .

[6]  Carol S. Smidts,et al.  A Test Coverage-Based Model for Predicting Software Fault Content and Location during Multi-phase Functional Testing , 2009, FGIT-ASEA.

[7]  Ming Li,et al.  A Ranking of Software Engineering Measures Based on Expert Opinion , 2003, IEEE Trans. Software Eng..

[8]  Michael R. Lyu Software Reliability Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[9]  Carol S. Smidts,et al.  A stochastic model of fault introduction and removal during software development , 2001, IEEE Trans. Reliab..

[10]  Wouter Geurts,et al.  TOPAAS: An Alternative Approach to Software Reliability Quantification , 2015, Qual. Reliab. Eng. Int..

[11]  Jeffrey M. Voas,et al.  Estimating the Probability of Failure When Testing Reveals No Failures , 1992, IEEE Trans. Software Eng..

[12]  James M. Bieman,et al.  The relationship between test coverage and reliability , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[13]  Debra S. Herrmann,et al.  Software safety and reliability - techniques, approaches, and standards of key industrial sectors , 2000 .

[14]  R. B. Misra,et al.  An Enhanced Model for Early Software Reliability Prediction Using Software Engineering Metrics , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

[15]  Roy Sterritt,et al.  Autonomic Computing - a means of achieving dependability? , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[16]  Timo Varkoi,et al.  Safety as a Process Quality Characteristic , 2013, SPICE.

[17]  Capers Jones,et al.  Applied software measurement (2nd ed.): assuring productivity and quality , 1996 .

[18]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[19]  Jessica Keyes,et al.  IEEE Standard Dictionary of Measures to Produce Reliable Software , 2002 .

[20]  Kee-Choon Kwon,et al.  A Study on the Quantitative Assessment Method of Software Requirement Documents Using Software Engineering Measures and Bayesian Belief Networks , 2005 .

[21]  David Wright,et al.  Assesing dependability of safety critical systems using diverse evidence , 1998, IEE Proc. Softw..

[22]  Yong Chen,et al.  A software reliability prediction model based on benchmark measurement , 2010, 2010 2nd IEEE International Conference on Information Management and Engineering.

[23]  Norman F. Schneidewind,et al.  Reliability Modeling for Safety Critical Software , 1997, Ada-Europe.

[24]  Dilip Kumar Yadav,et al.  A fuzzy logic based approach for phase-wise software defects prediction using software metrics , 2015, Inf. Softw. Technol..

[25]  Carol S. Smidts,et al.  Predicting the types and locations of faults introduced during an imperfect repair process and their impact on reliability , 2010, Int. J. Syst. Assur. Eng. Manag..

[26]  Katsuro Inoue,et al.  The Detection of Fault-Prone Program Using a Neural Network , 2003 .

[27]  D. Campbell,et al.  EXPERIMENTAL AND QUASI-EXPERIMENT Al DESIGNS FOR RESEARCH , 2012 .

[28]  Taghi M. Khoshgoftaar,et al.  The Detection of Fault-Prone Programs , 1992, IEEE Trans. Software Eng..

[29]  Maurizio Morisio,et al.  An empirical analysis of open source software defects data through software reliability growth models , 2013, Eurocon 2013.

[30]  Petra Kaufmann,et al.  Experimental And Quasi Experimental Designs For Research , 2016 .

[31]  John E. Gaffney,et al.  Estimating the Number of Faults in Code , 1984, IEEE Transactions on Software Engineering.

[32]  Joseph R. Fragola,et al.  Human Reliability Analysis: A Systems Engineering Approach with Nuclear Power Plant Applications , 1988 .

[33]  P. K. Kapur,et al.  Two Dimensional Multi-Release Software Reliability Modeling and Optimal Release Planning , 2012, IEEE Transactions on Reliability.

[34]  Neeraj Kumar Goyal,et al.  Fault Prediction Model by Fuzzy Profile Development of Reliability Relevant Software Metrics , 2010 .

[35]  Dilip Kumar Yadav,et al.  Early Software Defects Prediction Using Fuzzy Logic , 2012 .

[36]  G. B. Finelli,et al.  The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software , 1993, IEEE Trans. Software Eng..

[37]  Chandan Kumar,et al.  Software defects estimation using metrics of early phases of software development life cycle , 2017, Int. J. Syst. Assur. Eng. Manag..

[38]  Hoang Pham,et al.  An analysis of factors affecting software reliability , 2000, J. Syst. Softw..

[39]  Ming Li,et al.  Validation of a methodology for assessing software reliability , 2004, 15th International Symposium on Software Reliability Engineering.

[40]  Dilip Kumar Yadav,et al.  Early software reliability analysis using reliability relevant software metrics , 2017, Int. J. Syst. Assur. Eng. Manag..

[41]  Raymond V. Sandfoss,et al.  Input requirements needed to produce an operational profile for a new telecommunications system , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[42]  T J. Mccabe,et al.  Structured Testing: A Software Testing Methodology Using the Cyclomatic Complexity Metric , 1982 .

[43]  Barry W. Johnson,et al.  Using statistics of the extremes for software reliability analysis of safety critical systems , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[44]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[45]  John D. Musa,et al.  The operational profile in software reliability engineering: an overview , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[46]  Tadashi Dohi,et al.  A Novel Framework of Software Reliability Evaluation with Software Reliability Growth Models and Software Metrics , 2014, 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering.

[47]  J. Neher A problem of multiple comparisons , 2011 .

[48]  Jongmoon Baik,et al.  Software Reliability Prediction for Open Source Software Adoption Systems Based on Early Lifecycle Measurements , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[49]  B. Kotaiah,et al.  Model for Software Errors Prediction Using Machine Learning to Improve The Software Reliability , 2013 .

[50]  Dipesh Das,et al.  Software Process Improvement and Capability Determination , 2018, Communications in Computer and Information Science.

[51]  C S Smidts,et al.  Preliminary Validation of a Methodology for Assessing Software Quality , 2004 .

[52]  Terry Rout,et al.  Software Process Improvement and Capability Determination: 13th International Conference, SPICE 2013, Bremen, Germany, June 4-6, 2013. Proceedings , 2013 .

[53]  P. K. Kapur,et al.  A Unified Approach for Developing Software Reliability Growth Models in the Presence of Imperfect Debugging and Error Generation , 2011, IEEE Transactions on Reliability.

[54]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[55]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[56]  Dilip Kumar Yadav,et al.  A Fuzzy Logic Approach for Multistage Defects Density Analysis of Software , 2014, SocProS.

[57]  Bent Natvig,et al.  A BAYESIAN HYPOTHESIS TESTING APPROACH FOR FINDING UPPER BOUNDS FOR PROBABILITIES THAT PAIRS OF SOFTWARE COMPONENTS FAIL SIMULTANEOUSLY , 2011 .

[58]  Michael R. Lyu,et al.  Estimation and Analysis of Some Generalized Multiple Change-Point Software Reliability Models , 2011, IEEE Transactions on Reliability.