Research Article

GSA-Fuzz: Optimize Seed Mutation with Gravitational Search Algorithm

Table 1

Defined mutation operators in AFL.

NameTypeFunction

BITFLIPbitflip1/1Randomly flip some bits of a seed
bitflip2/1
bitflip4/1
bitflip8/8
bitflip16/8
bitflip32/8
ARITHMETIC INC/DECarith8/8Perform integer addition or subtraction mutation on some bytes of the seed
arith16/8
arith32/8
INTERESTING VALUESinterest8/8Replace some bytes in the seed with interesting values
interest16/8
interest32/8
DICTIONARY STUFFuser_extras(over), user_extras(insert) auto extras(over)Replace tokens provided by the user or detected by the system into the seed
RANDOMLY BYTEadd to byteRandomly select a byte and add or subtract a value
subtract from byte
DELETE BYTESdelete bytesRandomly delete some bytes
CLONE BYTESclone bytesRandomly clone some bytes and insert them into the seed randomly clone some bytes
OVERWRITE BYTESoverwrite bytesAnd overwrite them into the seed