Test-case reduction and deduplication almost for free with transformation-based compiler testing
File(s)3453483.3454092.pdf (542.08 KB)
Published version
Author(s)
Type
Conference Paper
Abstract
Recent transformation-based approaches to compiler testing look for mismatches between the results of pairs of equivalent programs, where one program is derived from the other by randomly applying semantics-preserving transformations. We present a formulation of transformation-based compiler testing that provides effective test-case reduction almost for free: if transformations are designed to be as small and independent as possible, standard delta debugging can be used to shrink a bug-inducing transformation sequence to a smaller subsequence that still triggers the bug. The bug can then be reported as a delta between an original and minimally-transformed program. Minimized transformation sequences can also be used to heuristically deduplicate a set of bug-inducing tests, recommending manual investigation of those that involve disparate types of transformations and thus may have different root causes. We demonstrate the effectiveness of our approach via a new tool, spirv-fuzz, the first compiler-testing tool for the SPIR-V intermediate representation that underpins the Vulkan GPU programming model.
Date Issued
2021-06-19
Date Acceptance
2021-04-06
Citation
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2021, pp.1017-1032
ISBN
9781450383912
Publisher
Association for Computing Machinery (ACM)
Start Page
1017
End Page
1032
Journal / Book Title
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Copyright Statement
© 2021 Copyright held by the owner/author(s). This is licenced under a Creative Commons Attribution 4.0 International Licence (https://creativecommons.org/licenses/by/4.0/)
License URL
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Grant Number
EP/R011605/1
Ref: 542716
Source
PLDI 2021
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science, Theory & Methods
Computer Science
Compilers
metamorphic testing
SPIR-V
Publication Status
Published
Start Date
2021-06-20
Finish Date
2021-06-25
Coverage Spatial
Virtual
Date Publish Online
2021-06-18