Genetic algorithm in code coverage guided fuzz testing
Esa Jääskelä
Abstract
Esa Jääskelä
Abstract
The security of computers is a growing concern when the amount of devices increases. New and more comprehensive testing methods need to be done to avoid damages to the users and their computers. Fuzzing is a testing method that inserts semi-valid input to the tested system and has before been considered as a good method for the security testing. However, it usually either does not get high code coverage or it requires a long set-up process or a source code analysis to achieve better code coverage. This work presents a genetic algorithm that automatically balances the probabilities of multiple mutators in a fuzzing program. This balancing aims to maximize the code coverage fuzz testing. After fuzzing two different open source libraries it was found that the grey-box approach in fuzzing gives better results than pure black-box fuzzing.
OpenAlex reports 8 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The security of computers is a growing concern when the amount of devices increases. New and more comprehensive testing methods need to be done to avoid damages to the users and their computers. Fuzzing is a testing method that inserts semi-valid input to the tested system and has before been considered as a good method for the security testing. However, it usually either does not get high code coverage or it requires a long set-up process or a source code analysis to achieve better code coverage. This work presents a genetic algorithm that automatically balances the probabilities of multiple mutators in a fuzzing program. This balancing aims to maximize the code coverage fuzz testing. After fuzzing two different open source libraries it was found that the grey-box approach in fuzzing gives better results than pure black-box fuzzing.
Key concepts: Fuzz testing, Computer science, Code coverage, Code (set theory), Process (computing), Set (abstract data type), Source code, White-box testing