An analysis of the relationship between conditional entropy and failed error propagation in software testing

Failed error propagation (FEP) is known to hamper software testing, yet it remains poorly understood. We introduce an information theoretic formulation of FEP that is based on measures of conditional entropy. This formulation considers the situation in which we are interested in the potential for an incorrect program state at statement s to fail to propagate to incorrect output. We define five metrics that differ in two ways: whether we only consider parts of the program that can be reached after executing s and whether we restrict attention to a single program path of interest .We give the results of experiments in which it was found that on average one in 10 tests suffered from FEP, earlier studies having shown that this figure can vary significantly between programs. The experiments also showed that our metrics are well-correlated with FEP. Our empirical study involved 30 programs, for which we executed a total of 7,140,000 test cases. The results reveal that the metrics differ in their performance but the Spearman rank correlation with failed error propagation is close to 0.95 for two of the metrics. These strong correlations in an experimental setting, in which all information about both FEP and conditional entropy is known, open up the possibility in the longer term of devising inexpensive information theory based metrics that allow us to minimise the effect of FEP.

[1]  Gregory Gay,et al.  Observable modified condition/decision coverage , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[2]  Flemming Nielson,et al.  Semantics with applications - a formal introduction , 1992, Wiley professional computing.

[3]  C. Pipper,et al.  [''R"--project for statistical computing]. , 2008, Ugeskrift for laeger.

[4]  JANUSZ LASKI,et al.  Error masking in computer programs , 1995, Softw. Test. Verification Reliab..

[5]  Wes Masri,et al.  Cleansing Test Suites from Coincidental Correctness to Enhance Fault-Localization , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[6]  Matthew Staats The influence of multiple artifacts on the effectiveness of software testing , 2010, ASE '10.

[7]  Sang Joon Kim,et al.  A Mathematical Theory of Communication , 2006 .

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

[9]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[10]  Allin Cottrell,et al.  Gnu Regression, Econometrics and Time-series Library , 2003 .

[11]  Pasquale Malacaria,et al.  Quantifying information leaks in software , 2010, ACSAC '10.

[12]  A. Jefferson Offutt,et al.  An Empirical Evaluation of Weak Mutation , 1994, IEEE Trans. Software Eng..

[13]  David Clark,et al.  Squeeziness: An information theoretic measure for avoiding fault masking , 2012, Inf. Process. Lett..

[14]  David Clark,et al.  A static analysis for quantifying information flow in a simple imperative language , 2007, J. Comput. Secur..

[15]  Thomas M. Cover,et al.  Elements of Information Theory , 2005 .

[16]  Alessandro Orso,et al.  MATRIX: Maintenance-Oriented Testing Requirements Identifier and Examiner , 2006, Testing: Academic & Industrial Conference - Practice And Research Techniques (TAIC PART'06).

[17]  Xuandong Li,et al.  Test adequacy criterion based on coincidental correctness probability , 2014, SEKE.

[18]  David Clark,et al.  Quantitative Analysis of the Leakage of Confidential Data , 2002, QAPL.

[19]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

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

[21]  Andy Podgurski,et al.  Measuring the strength of information flows in programs , 2009, TSEM.

[22]  Wes Masri,et al.  An empirical study of the factors that reduce the effectiveness of coverage-based fault localization , 2009, DEFECTS '09.

[23]  Shing-Chi Cheung,et al.  Taming coincidental correctness: Coverage refinement with context patterns to improve fault localization , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[24]  Raúl A. Santelices,et al.  Applying aggressive propagation-based strategies for testing changes , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[25]  A. Jefferson Offutt,et al.  How strong is weak mutation? , 1991, TAV4.

[26]  Robert M. Hierons,et al.  SMT-C: A Semantic Mutation Testing Tools for C , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[27]  Tom Chothia,et al.  Statistical Measurement of Information Leakage , 2010, TACAS.

[28]  Martin R. Woodward,et al.  Testability, fault size and the domain-to-range ratio: An eternal triangle , 2000, ISSTA '00.

[29]  Renè Jacquart,et al.  Building the Information Society , 2004, IFIP International Federation for Information Processing.