ise-uiuc / FreeFuzz

Free Lunch for Testing: Fuzzing Deep-Learning Libraries from Open Source (ICSE'22)
72 stars 14 forks source link

A question about mutation strategy #8

Open chaochaoyang opened 1 year ago

chaochaoyang commented 1 year ago

Hi! First of all, thank you for your contribution.After reading the paper, I want to know why there is a random mutation strategy but still need to use the database mutation strategy. In my opinion, the coverage of random mutation strategy should be better than that of database mutation strategy?If a single mutation strategy is used, which mutation strategy has the best effect among the three strategies?Is Type muation?

YangChenyuan commented 1 year ago

Hi @chaochaoyang, this is because database value mutation can borrow inputs from other APIs. The random value mutation is more likely to generate some invalid inputs since the range of float, int, or string is huge. By contrast, the database value mutation usually borrows the valid input of other APIs, which is more likely to be valid.

The type mutation is the best strategy in terms of coverage

chaochaoyang commented 1 year ago

Thanks! I got your idea.