Just fuzz it: solving floating-point constraints using coverage-guided fuzzing
File(s)main.pdf (663.41 KB)
Accepted version
Author(s)
Liew, Daniel
Cadar, Cristian
Donaldson, Alastair
Stinnett, J Ryan
Type
Conference Paper
Abstract
We investigate the use of coverage-guided fuzzing as a means ofproving satisfiability of SMT formulas over finite variable domains,with specific application to floating-point constraints. We show howan SMT formula can be encoded as a program containing a locationthat is reachable if and only if the program’s input corresponds toa satisfying assignment to the formula. A coverage-guided fuzzercan then be used to search for an input that reaches the location,yielding a satisfying assignment. We have implemented this ideain a tool,JustFuzz-itSolver (JFS), and we present a large experi-mental evaluation showing that JFS is both competitive with andcomplementary to state-of-the-art SMT solvers with respect tosolving floating-point constraints, and that the coverage-guidedapproach of JFS provides significant benefit over naive fuzzing inthe floating-point domain. Applied in a portfolio manner, the JFS approach thus has the potential to complement traditional SMTsolvers for program analysis tasks that involve reasoning aboutfloating-point constraints.
Date Issued
2019-08
Date Acceptance
2019-05-24
Citation
2019, pp.521-532
Publisher
ACM
Start Page
521
End Page
532
Copyright Statement
© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.
Identifier
https://dl.acm.org/doi/10.1145/3338906.3338921
Source
ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE ’19)
Publication Status
Published
Start Date
2019-08-26
Finish Date
2019-08-30
Coverage Spatial
Tallinn, Estonia
Date Publish Online
2019-08