2009 · 76 citations · 8 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringConstraint SatisfactionFuzz TestingSoftware TestingStatic AnalysisSymbolic ExecutionVerificationConcolic ExecutionConcolic TestingConstraint GenerationExplicit-state Model CheckingPath Constraint SolvingSymbolic Execution EnginesSymbolic-assisted Fuzzing
We present jFuzz, a automatic testing tool for Java programs. jFuzz is a concolic whitebox fuzzer, built on the NASA Java PathFinder, an explicit-state Java model checker, and a framework for developing reliability and analysis tools for Java. Starting from a seed input, jFuzz automatically and systematically generates inputs that exercise new program paths. jFuzz uses a combination of concrete and symbolic execution, and constraint solving. Time spent on solving constraints can be significant. We implemented several well-known optimizations and name-independent caching, which aggressively normalizes the constraints to reduce the number of calls to the constraint solver. We present preliminary results due to the optimizations, and demonstrate the effectiveness of jFuzz in creating good test inputs. The source code of jFuzz is available as part of the NASA Java PathFinder. jFuzz is intended to be a research testbed for investigating new testing and analysis techniques based on concrete and symbolic execution. The source code of jFuzz is available as part of the NASA Java PathFinder. 1
8
Patrice Godefroid, Nils Klarlund, Koushik Sen · ACM SIGPLAN Notices · 2005 · 2.1K citations
Koushik Sen, Darko Marinov, Gul Agha · 2005 · 1.7K citations
Automated Whitebox Fuzz Testing.
Patrice Godefroid, Michael Y. Levin, David A. Molnar · 2008 · 1.1K citations
Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski et al. · 2006 · 789 citations