2022 · 12 citations · 25 references
ComputingComputer ScienceDiagnostic ReasoningFormal MethodsSystems AnalysisControl-flow AnalysisData-flow AnalysisSoftware TestingStatic AnalysisStatic Code AnalysisSymbolic ExecutionAutomated Bug FindingDynamic Program AnalysisDynamic Symbolic ExecutionExecution TracingPartial TraceProgram Trace AnalysisStatic Error AnalysisTrace-based Debugging
This paper reports on our experience implementing a technique for sifting through static analysis reports using dynamic symbolic execution. Our insight is that if a static analysis tool produces a partial trace through the program under analysis, annotated with conditions that the analyser believes are important for the bug to trigger, then a dynamic symbolic execution tool may be able to exploit the trace by (a) guiding the search heuristically so that paths that follow the trace most closely are prioritised for exploration, and (b) pruning the search using the conditions associated with each step of the trace. This may allow the bug to be quickly confirmed using dynamic symbolic execution, if it turns out to be a true positive, yielding an input that triggers the bug.
25
Koushik Sen, Darko Marinov, Gul Agha · 2005 · 1.7K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · 2005 · 1.5K citations
Symbolic execution for software testing
Cristian Cadar, Koushik Sen · Communications of the ACM · 2013 · 749 citations
Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski et al. · ACM Transactions on Information and System Security · 2008 · 338 citations
Cristian Zamfir, George Candea · 2010 · 222 citations · Full text