FLINT: Fault Localisation using Information Theory
Shin Yoo, Mark Harman, David Clark · UCL Discovery (University College London) · 2011
Test case prioritisation techniques aim to maximise the chance of fault detection as early in testing as possible. This is most commonly achieved by prioritising the tests according to a surrogate measure that is thought to correspond to fault detection capabilities, such as code coverage. However, once the prioritised test suite indeed detects a fault, the original prioritisation may become obsolete. Rather, from the point of the first fault detection, the aim of the prioritisation should be that it should maximise the chance of locating the detected fault. This paper introduced a novel dynamic test prioritisation technique that is based on Shannon’s entropy. Fault localisation is formulated as a process of decreasing the entropy calculated over the test information. The dynamic test case prioritisation uses both the coverage information from the previous testing and the results from the current testing and selects the next test that is most likely to reduce the entropy of information regarding the locality of the fault, maximising the chance of identifying the location of the fault whenever the testing is terminated.