학술논문

Spectacular: Finding Laws from 25 Trillion Terms
Document Type
Conference
Source
2023 IEEE Conference on Software Testing, Verification and Validation (ICST) ICST Software Testing, Verification and Validation (ICST), 2023 IEEE Conference on. :293-304 Apr, 2023
Subject
Computing and Processing
General Topics for Engineers
Software testing
Automata
Benchmark testing
Computer crashes
Usability
properties
test generation
synthesis
ECTAs
Haskell
QuickCheck
enumeration
Language
Abstract
We present Spectacular, a new tool for automatically discovering candidate laws for use in property-based testing. By using the recently-developed technique of ECTAs (Equality-Constrained Tree Automata), Spectacular improves upon previous approaches such as QuickSpec: it can explore vastly larger program spaces and start generating candidate laws within 20 seconds from a benchmark where QuickSpec runs for 45 minutes and then crashes (due to memory limits, even on a 256 GB machine). Thanks to the ability of ECTAs to efficiently search constrained program spaces, Spectacular is fast enough to find candidate laws in more generally typed settings than the monomorphized one, even for signatures with dozens of functions.