TY - GEN
T1 - A suite of tools for making effective use of automatically generated tests
AU - Holmes, Josie
AU - Groce, Alex
N1 - Publisher Copyright:
© 2017 Association for Computing Machinery.
PY - 2017/7/10
Y1 - 2017/7/10
N2 - Automated test generation tools (we hope) produce failing tests from time to time. In a world of fault-free code this would not be true, but in such a world we would not need automated test generation tools. Failing tests are generally speaking the most valuable products of the testing process, and users need tools that extract their full value. This paper describes the tools provided by the TSTL testing language for making use of tests (which are not limited to failing tests). In addition to the usual tools for simple delta-debugging and executing tests as regressions, TSTL provides tools for 1) minimizing tests by criteria other than failure, such as code coverage, 2) normalizing tests to achieve further reduction and canonicalization than provided by delta-debugging, 3) generalizing tests to describe the neighborhood of similar tests that fail in the same fashion, and 4) avoiding slippage, where delta-debugging causes a failing test to change underlying fault. These tools can be accessed both by easy-to-use command-line tools and via a powerful API that supports more complex custom test manipulations.
AB - Automated test generation tools (we hope) produce failing tests from time to time. In a world of fault-free code this would not be true, but in such a world we would not need automated test generation tools. Failing tests are generally speaking the most valuable products of the testing process, and users need tools that extract their full value. This paper describes the tools provided by the TSTL testing language for making use of tests (which are not limited to failing tests). In addition to the usual tools for simple delta-debugging and executing tests as regressions, TSTL provides tools for 1) minimizing tests by criteria other than failure, such as code coverage, 2) normalizing tests to achieve further reduction and canonicalization than provided by delta-debugging, 3) generalizing tests to describe the neighborhood of similar tests that fail in the same fashion, and 4) avoiding slippage, where delta-debugging causes a failing test to change underlying fault. These tools can be accessed both by easy-to-use command-line tools and via a powerful API that supports more complex custom test manipulations.
KW - Generalization
KW - Normalization
KW - Semantic simplification
KW - Slippage
KW - Test reduction
UR - http://www.scopus.com/inward/record.url?scp=85026643842&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85026643842&partnerID=8YFLogxK
U2 - 10.1145/3092703.3098220
DO - 10.1145/3092703.3098220
M3 - Conference contribution
AN - SCOPUS:85026643842
T3 - ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
SP - 356
EP - 359
BT - ISSTA 2017 - Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
A2 - Sen, Koushik
A2 - Bultan, Tevfik
PB - Association for Computing Machinery, Inc
T2 - 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017
Y2 - 10 July 2017 through 14 July 2017
ER -