Closer to the edge: testing compilers more thoroughly by being less conservative about undefined behaviour
File(s)csmithedge-ase-nier-20.pdf (646.67 KB)
Accepted version
Author(s)
Even Mendoza, Karine
Cadar, Cristian
Donaldson, A
Type
Conference Paper
Abstract
Randomised compiler testing techniques require a means of generating programs that are free from undefined behaviour (UB) in order to reliably reveal miscompilation bugs. Existing program generators such asCsmithheavily restrict the form of generated programs inorder to achieve UB-freedom. We hypothesise that the idiomatic nature of such programs limits the test coverage they can offer. Our idea is to generate less restricted programs that are still UB-free—programs that get closer to the edge of UB, but that do not quite cross the edge. We present preliminary support for our idea via a prototype tool, CsmithEdge, which uses simple dynamic analysis to determine whereCsmithhas been too conservative in its use of safe math rappers that guarantee UB-freedom for arithmetic operations. By eliminating redundant wrappers,CsmithEdge was able to discover two new miscompilation bugs in GCC that could not be found via intensive testing using regular Csmith, and to achieve substantial differences in code coverage on GCC compared with regular Csmith.
Date Issued
2020-12-21
Date Acceptance
2020-07-04
Citation
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, 2020, pp.1219-1223
ISBN
9781450367684
Publisher
IEEE / ACM
Start Page
1219
End Page
1223
Journal / Book Title
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering
Copyright Statement
© 2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Source
IEEE/ACM International Conference on Automated Software Engineering, New Ideas and Emerging Results Track (ASE-NIER 2020)
Subjects
Science & Technology
Technology
Automation & Control Systems
Computer Science, Software Engineering
Engineering, Electrical & Electronic
Computer Science
Engineering
Compilers
fuzzing
Csmith
GCC
Publication Status
Published
Start Date
2020-09-21
Finish Date
2020-09-25
Coverage Spatial
Melbourne, Australia (virtual)