Fuzz testing for binary program based on genetic algorithm

Long Long Jiao, Sen Lin Luo, Wang Tong Liu, Li Min Pan, Ji Zhang*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)

Abstract

A genetic algorithm-based fuzz testing method for binary program was proposed aiming at the low code coverage problem caused by high execution path repetition rate of the test data generated from mutation in binary program fuzz testing. The method transformed test data to individuals in genetic algorithm. Quick Emulator was used to instrument a binary program for extracting program execution path. The evolution process in genetic algorithm was guided by an execution-path-based fitness function, so that the generated test data could cover more program execution paths. Experimental results show that the average code coverage of the method is 25.4% higher than fuzzing tool American Fuzzy Lop (AFL) within the same time. The method can detect all crashes in vulnerability detection experiment and the efficiency is at least 10% higher than AFL. The method is helpful for improving the efficiency of fuzz testing.

Original languageEnglish
Pages (from-to)1014-1019
Number of pages6
JournalZhejiang Daxue Xuebao (Gongxue Ban)/Journal of Zhejiang University (Engineering Science)
Volume52
Issue number5
DOIs
Publication statusPublished - May 2018

Keywords

  • Binary program
  • Fuzz testing
  • Genetic algorithm
  • Program execution path
  • Program instrumentation

Fingerprint

Dive into the research topics of 'Fuzz testing for binary program based on genetic algorithm'. Together they form a unique fingerprint.

Cite this