Search OptimizationGrey-box FuzzingEngineeringSoftware SystemsSoftware EngineeringSoftware AnalysisFormal VerificationFuzzingCompilersSearch-based Software EngineeringFitness FunctionEvolutionary ProcessComputer EngineeringComputer ScienceStatic Program AnalysisMutation-based TestingProgram AnalysisSoftware TestingFormal MethodsSymbolic Execution
Grey-box fuzzing is an evolutionary process, which maintains and evolves a population of test cases with the help of a fitness function. Fitness functions used by current grey-box fuzzers are not informative in that they cannot distinguish different program executions as long as those executions achieve the same coverage. The problem is that current fitness functions only consider a union of data, but not their combination. As such, fuzzers often get stuck in a local optimum during their search. In this paper, we introduce Ankou, the first grey-box fuzzer that recognizes different combinations of execution information, and present several scalability challenges encountered while designing and implementing Ankou. Our experimental results show that Ankou is 1.94× and 8.0× more effective in finding bugs than AFL and Angora, respectively.
40
M-tree: An Efficient Access Method for Similarity Search in Metric Spaces
Paolo Ciaccia, Marco Patella, Pavel Zezula · 1997 · 1.5K citations
EM Algorithms for PCA and SPCA
Sam T. Roweis · 1997 · 732 citations