Leveraging Models to Reduce Test Cases in Software Repositories

03/22/2021
by   Golnaz Gharachorlu, et al.
0

Given a failing test case, test case reduction yields a smaller test case that reproduces the failure. This process can be time consuming due to repeated trial and error with smaller test cases. Current techniques speed up reduction by only exploring syntactically valid candidates, but they still spend significant effort on semantically invalid candidates. In this paper, we propose a model-guided approach to speed up test case reduction. The approach trains a model of semantic properties driven by syntactic test case properties. By using this model, we can skip testing even syntactically valid test case candidates that are unlikely to succeed. We evaluate this model-guided reduction on a suite of 14 large fuzzer-generated C test cases from the bug repositories of two well-known C compilers, GCC and Clang. Our results show that with an average precision of 77 trials by 14 over the state of the art technique while preserving similar reduction power.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset