MaxAFL: Maximizing Code Coverage with a Gradient-Based Optimization Technique
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Kim, Youngjoon | - |
dc.contributor.author | Yoon, Jiwon | - |
dc.date.accessioned | 2021-08-30T04:33:41Z | - |
dc.date.available | 2021-08-30T04:33:41Z | - |
dc.date.created | 2021-06-19 | - |
dc.date.issued | 2021-01 | - |
dc.identifier.issn | 2079-9292 | - |
dc.identifier.uri | https://scholar.korea.ac.kr/handle/2021.sw.korea/50214 | - |
dc.description.abstract | Evolutionary fuzzers generally work well with typical software programs because of their simple algorithm. However, there is a limitation that some paths with complex constraints cannot be tested even after long execution. Fuzzers based on concolic execution have emerged to address this issue. The concolic execution fuzzers also have limitations in scalability. Recently, the gradient-based fuzzers that use a gradient to mutate inputs have been introduced. Gradient-based fuzzers can be applied to real-world programs and achieve high code coverage. However, there is a problem that the existing gradient-based fuzzers require heavyweight analysis or sufficient learning time. In this paper, we propose a new type of gradient-based fuzzer, MaxAFL, to overcome the limitations of existing gradient-based fuzzers. Our approach constructs an objective function through fine-grained static analysis. After constructing a well-made objective function, we can apply the gradient-based optimization algorithm. We use a modified gradient-descent algorithm to minimize our objective function and propose some probabilistic techniques to escape local optimum. We introduce an adaptive objective function which aims to explore various paths in the program. We implemented MaxAFL based on the original AFL. MaxAFL achieved increase of code coverage per time compared with three other fuzzers in six open-source Linux binaries. We also measured cumulative code coverage per total execution, and MaxAFL outperformed the other fuzzers in this metric. Finally, MaxAFL can also find more bugs than the other fuzzers. | - |
dc.language | English | - |
dc.language.iso | en | - |
dc.publisher | MDPI | - |
dc.title | MaxAFL: Maximizing Code Coverage with a Gradient-Based Optimization Technique | - |
dc.type | Article | - |
dc.contributor.affiliatedAuthor | Yoon, Jiwon | - |
dc.identifier.doi | 10.3390/electronics10010011 | - |
dc.identifier.scopusid | 2-s2.0-85098720947 | - |
dc.identifier.wosid | 000605917800001 | - |
dc.identifier.bibliographicCitation | ELECTRONICS, v.10, no.1, pp.1 - 23 | - |
dc.relation.isPartOf | ELECTRONICS | - |
dc.citation.title | ELECTRONICS | - |
dc.citation.volume | 10 | - |
dc.citation.number | 1 | - |
dc.citation.startPage | 1 | - |
dc.citation.endPage | 23 | - |
dc.type.rims | ART | - |
dc.type.docType | Article | - |
dc.description.journalClass | 1 | - |
dc.description.journalRegisteredClass | scie | - |
dc.description.journalRegisteredClass | scopus | - |
dc.relation.journalResearchArea | Computer Science | - |
dc.relation.journalResearchArea | Engineering | - |
dc.relation.journalResearchArea | Physics | - |
dc.relation.journalWebOfScienceCategory | Computer Science, Information Systems | - |
dc.relation.journalWebOfScienceCategory | Engineering, Electrical & Electronic | - |
dc.relation.journalWebOfScienceCategory | Physics, Applied | - |
dc.subject.keywordAuthor | fuzzing | - |
dc.subject.keywordAuthor | optimization | - |
dc.subject.keywordAuthor | gradient descent | - |
dc.subject.keywordAuthor | test automation | - |
Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.
(02841) 서울특별시 성북구 안암로 14502-3290-1114
COPYRIGHT © 2021 Korea University. All Rights Reserved.
Certain data included herein are derived from the © Web of Science of Clarivate Analytics. All rights reserved.
You may not copy or re-distribute this material in whole or in part without the prior written consent of Clarivate Analytics.