Putting Randomized Compiler Testing into Production (Experience Report)
release_bnhiufaowvanlmfuyvqpzbhae4
by
Alastair Donaldson, Hugues Evrard, Paul Thomson, Tobias Pape, Robert Hirschfeld
2020 p22:1-22:29
Abstract
We describe our experience over the last 18 months on a compiler testing technology transfer project: taking the GraphicsFuzz research project on randomized metamorphic testing of graphics shader compilers, and building the necessary tooling around it to provide a highly automated process for improving the Khronos Vulkan Conformance Test Suite (CTS) with test cases that expose fuzzer-found compiler bugs, or that plug gaps in test coverage. We present this tooling for test automation - gfauto - in detail, as well as our use of differential coverage and test case reduction as a method for automatically synthesizing tests that fill coverage gaps. We explain the value that GraphicsFuzz has provided in automatically testing the ecosystem of tools for transforming, optimizing and validating Vulkan shaders, and the challenges faced when testing a tool ecosystem rather than a single tool. We discuss practical issues associated with putting automated metamorphic testing into production, related to test case validity, bug de-duplication and floating-point precision, and provide illustrative examples of bugs found during our work.
In text/plain
format
Archived Files and Locations
application/pdf 829.7 kB
file_d5ti5xfkyndmzimyzbpkstnwi4
|
drops.dagstuhl.de (publisher) web.archive.org (webarchive) |
access all versions, variants, and formats of this works (eg, pre-prints)
Datacite Metadata (via API)
Worldcat
wikidata.org
CORE.ac.uk
Semantic Scholar
Google Scholar