Information Theory and Software Testing
David Clark
David Clark IT and ST
Information Theory and Software Testing David Clark David Clark IT - - PowerPoint PPT Presentation
Information Theory and Software Testing David Clark David Clark IT and ST Papers Squeeziness: A Information Theoretic Measure for Avoiding Fault Masking. D. Clark and R. Hierons. IPL. 2012. Fault Localization Prioritization: Comparing
David Clark IT and ST
Squeeziness: A Information Theoretic Measure for Avoiding Fault Masking. D. Clark and R. Hierons. IPL. 2012. Fault Localization Prioritization: Comparing Information Theoretic and Coverage Based Approaches. S. Yoo, M. Harman and D. Clark. ToSEM. 2013. An Analysis of the Relationship between Conditional Entropy and Failed Error Propagation in Software Testing. K. Androutsopoulos, D. Clark, H. Dan, R. Hierons, and M. Harman. ICSE. 2014. Information Transformation: An Underpinning Theory for Software Engineering.
Test Set Diameter: Quantifying the Diversity of Sets of Test Cases. R. Feldt, S. Poulding, D. Clark and S. Yoo. ICST. 2016. Test Oracle Assessment and Improvement. G. Jahangirova, D. Clark, M. Harman and P. Tonella. ISSTA. 2016.
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
Solomonoff Kolmogorov Chaitin
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
Structural Test Test Test Tarantula Test Tarantula Elements t1 t2 t3 Metric(τ) t4 Metric(τ) s1
0.00 s2
0.00 s3
0.00 s4
0.00 s5
0.00 s6
s7 (faulty)
s8
s9
Result P F P
IT and ST
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
Intended Unintended
David Clark IT and ST
t t P’’ P A A’ C C’ pp pp’ Q Q
B’
Intended Unintended
David Clark IT and ST
David Clark IT and ST
via the partition property
deterministic case
David Clark IT and ST
t t P’’ P A A’ C C’ pp pp’ Q Q
B’
Intended Unintended
pp0
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
David Clark IT and ST
3
public class Subtract { public double value(double x, double y) { double result = x-y; assert (result != x); assert (result == x-y); return result; } } public class FastMath { public int max (int a, int b) { int max; if (a >= b) { max = a; } else { max = b; // max = a; } assert (max >= a); return max; } }
David Clark IT and ST
David Clark IT and ST
x2X
y2Y
David Clark IT and ST
bad oracle good oracle
David Clark IT and ST
David Clark IT and ST