Putting Randomized Compiler Testing into Production (Experience Report) release_bnhiufaowvanlmfuyvqpzbhae4

by Alastair Donaldson, Hugues Evrard, Paul Thomson, Tobias Pape, Robert Hirschfeld

Published in European Conference on Object-Oriented Programming by Schloss Dagstuhl - Leibniz-Zentrum für Informatik.

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)
Read Archived PDF
Preserved and Accessible
Type  article-journal
Stage   published
Date   2020-11-06
Language   en ?
Work Entity
access all versions, variants, and formats of this works (eg, pre-prints)
Catalog Record
Revision: 59ae5a77-047e-42f8-abca-2fb48f50d110
API URL: JSON