Developing a small but useful set of inputs for tests is challenging.
We show that a domain-specific language backed by a constraint solver can help the programmer with this process.
The solver can generate a set of test inputs and guarantee
that each input is \emph{different} from other inputs in a way that is useful for testing.
This paper presents Iorek: a tool that empowers the programmer with the ability to express
to any SMT solver what it means for inputs to be different. The core of Iorek is a rich language for
constraining the set of inputs, which includes a novel bounded enumeration
mechanism that makes it easy to define and encode a flexible notion of difference over a recursive structure.
We demonstrate the flexibility of this mechanism for generating strings.
We use Iorek to test real services and find that it is effective at finding bugs.
We also build Iorek into a random testing tool and show that it increases coverage.
Thu 26 OctDisplayed time zone: Tijuana, Baja California change
15:30 - 17:22 | |||
15:30 22mTalk | A Solver-Aided Language for Test Input Generation OOPSLA Talia Ringer University of Washington, Dan Grossman University of Washington, Daniel Schwartz-Narbonne Amazon, n.n., Serdar Tasiran Amazon, n.n. DOI | ||
15:52 22mTalk | Automated Testing of Graphics Shader Compilers OOPSLA Alastair F. Donaldson Imperial College London, Hugues Evrard Imperial College London, UK, Andrei Lascu Imperial College London, Paul Thomson Imperial College London DOI | ||
16:14 22mTalk | Bounded Exhaustive Test-Input Generation on GPUs OOPSLA Ahmet Celik University of Texas at Austin, USA, Sreepathi Pai University of Rochester, Sarfraz Khurshid University of Texas at Austin, Milos Gligoric University of Texas at Austin DOI | ||
16:37 22mTalk | Transforming Programs and Tests in Tandem for Fault Localization OOPSLA DOI | ||
16:59 22mTalk | Type Test Scripts for TypeScript Testing OOPSLA DOI |