How do we collect data for software reliability estimation?

Together with the increasing influence of software systems in all aspects of everyday life there is also a need to focus on their non-functional characteristics. Reliability is one important software quality characteristic, which is defined as the continuity of correct service. Reasoning and modelling are necessary in order to achieve desired levels of reliability both during design and usage of software systems. The usefulness of reliability models are dependent on the input data we provide to these models, which influences the accuracy of the estimations we perform. There exist different techniques for gathering data for software reliability estimation and the aim of this paper is to make a good overview of them. As software testing is the most widely applied and researched technique among them, we also briefly present the current state of the art in application of different testing methods for the collection of data to be used for reliability estimation.

[1]  Joseph Robert Horgan,et al.  Data flow coverage and the C language , 1991, TAV4.

[2]  Aditya P. Mathur,et al.  Software testing and reliability , 1996 .

[3]  Swapna S. Gokhale,et al.  A simulation approach to structure-based software reliability analysis , 2005, IEEE Transactions on Software Engineering.

[4]  William Farr,et al.  Software reliability modeling survey , 1996 .

[5]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[6]  Vernon Rego,et al.  Effect of testing techniques on software reliability estimates obtained using a time-domain model , 1995 .

[7]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[8]  Vernon Rego,et al.  A Time/Structure Based Model for Estimating Software Reliability , 1992 .

[9]  Simeon C. Ntafos,et al.  On Comparisons of Random, Partition, and Proportional Partition Testing , 2001, IEEE Trans. Software Eng..

[10]  James A. Whittaker,et al.  Toward a More Reliable Theory of Software , 2000 .

[11]  Ravishankar K. Iyer,et al.  Fault Injection , 2010, Encyclopedia of Software Engineering.

[12]  Dhiraj K. Pradhan,et al.  Fault Injection: A Method for Validating Computer-System Dependability , 1995, Computer.

[13]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[14]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[15]  R. Taylor,et al.  Partition testing does not inspire confidence , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[16]  Sasikumar Punnekkat,et al.  Modeling Uncertainties in the Estimation of Software Reliability – A Pragmatic Approach , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement.

[17]  Jeffrey M. Voas,et al.  Toward a More Reliable Theory of Software Reliability , 2000, Computer.

[18]  Brian Mitchell,et al.  A reliability model combining representative and directed testing , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[19]  Brendan Murphy,et al.  Measuring system and software reliability using an automated data collection process , 1995 .

[20]  James A. Whittaker,et al.  What is software testing? And why is it so hard? , 2000 .