Fuzzing: challenges and reflections
File(s)09166552.pdf (342.61 KB)
Published version
Author(s)
Boehme, Marcel
Cadar, Cristian
ROYCHOUDHURY, Abhik
Type
Journal Article
Abstract
Abstract—Fuzzing is a method to discover software bugs and vulnerabilities by automatic test input generation which has found tremendous recent interest in both academia and industry. Fuzzing comes in the form of several techniques. On one hand, we have symbolic execution, which enables a particularly effective approach to fuzzing by systematically enumerating the paths of a program. On the other hand, we have random input generation, which generates large amounts of inputs per second with none or minimal program analysis overhead. In this article, we summarize the open challenges and opportunities for fuzzing and symbolic execution as they emerged in discussions among researchers and practitioners in a Shonan Meeting, and were validated in a subsequent survey. We take a forward-looking view of the software vulnerability discovery technologies and provide concrete directions for future research.
Date Issued
2020-08-13
Date Acceptance
2020-08-01
Citation
IEEE Software, 2020, 38 (3), pp.79-86
ISSN
0740-7459
Publisher
Institute of Electrical and Electronics Engineers
Start Page
79
End Page
86
Journal / Book Title
IEEE Software
Volume
38
Issue
3
Copyright Statement
© 2020 The Author(s). This work is licensed under a Creative Commons
At tribution 4.0 License. For more information, see
ht tps://creativecommons.org/licenses/by/4.0/deed.ast.
At tribution 4.0 License. For more information, see
ht tps://creativecommons.org/licenses/by/4.0/deed.ast.
License URL
Identifier
https://ieeexplore.ieee.org/document/9166552
Subjects
Software Engineering
0803 Computer Software
0806 Information Systems
0906 Electrical and Electronic Engineering
Publication Status
Published
Date Publish Online
2020-08-13