Statistical Fault Localization
The idea here is that we assign scores to program statements based on their occurrences in passing and failing tests. Here, correlation relates to causation. If a statement is always executed during failed tests but not in passing tests, the statement is more likely to be related to a bug.
To produce these rankings:
- Given a test suite T
- = # of failing executions in which s occurs
- = # of passing executions in which s occurs
- = Total # of failing executions
- = Total # of passing executions
See