We present a JUnit test runner that informs users of missing behavior checks in their tests. The tool tracks variable updates and definitions over the course of a test execution and determines which variables influence which assertions via dynamic taint analysis. The program statements that set outputs which do not influence the outcome of any test assertions are reported as state coverage inadequacies. With traditional code coverage tools, users can ensure that tests execute all program statements; with this tool, they can additionally ensure that program output is checked, in one way or another, by a test.
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=1370210.