DART: directed automated random testing
By Patrice Godefroid, Nils Klarlund, Koushik Sen. ACM-SIGPLAN Symposium on Programming Language Design and Implementation, 2005
2,910 citations recorded by the source corpus.
Subfields: Software, Signal Processing
View Paper: https://www.semanticscholar.org/paper/3f6a6707d0e2a818a6a4359b253c32603abe3651
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Software
- Koushik Sen
- Mark Harman
- Gordon Fraser
- Andrea Arcuri
- Yue Jia
- Zhendong Su
- Patrice Godefroid
- Rupak Majumdar
In Signal Processing
- Koushik Sen
- Thorsten Holz
- Christopher Krügel
- Engin Kirda
- Michael Pradel
- Peng Chen
- Hao Chen
- Mark Harman
Citations in the corpus
- HAMPI: a solver for string constraints (2009, methodology): “Automatic test-case generation tools that use combined concrete and symbolic execution, also known as concolic execution [5,6,17, 18, 23, 34] have trouble creating test cases that achieve high coverage for programs that expect structured inputs, such as those that require input strings from a contex”
- CUTE: a concolic unit testing engine for C (2005, background): “The closest work to ours is that of Godefroid et al. s directed automated randomtesting(DART)[11].”
- Automated Whitebox Fuzz Testing (2008, methodology): “As previously discussed, our approach builds upon recent work on systematic dynamic test generation, introduced in [14, 6] and extended in [13, 29, 7, 12, 27].”
- EvoSuite: automatic test suite generation for object-oriented software (2011, methodology): “To improve over random testing and its variants, which usually achieve low code coverage, techniques based on dynamic symbolic execution have been presented [7].”
- Formal verification of hybrid systems (2011, result): “This integration of simulation and symbolic analysis can lead to improved coverage, and is similar to concolic testing which has proved to be effective in debugging of large-scale software systems [24].”
- TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection (2010, background): “Since exhaustive enumeration of an application’s input space is typically infeasible, there are two main approaches to obtain malformed inputs: data mutation and data generation [58].”
- KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs (2008, neutral): “The importance of such testing — combined with the difficulty and poor performance of random and manual approaches — has led to much recent work in us-ing symbolic execution to automatically generate test inputs [11, 14–16,20–22,24,26, 27, 36].”
- Automatic creation of SQL Injection and cross-site scripting attacks (2009, methodology): “Our current implementation uses combined concrete and symbolic execution [1, 11, 30].”
- SOK: (State of) The Art of War: Offensive Techniques in Binary Analysis (2016, background): “Thus, researchers have paired fuzzing with symbolic execution [14], [15], [17], [28], [29], [54].”
- The Oracle Problem in Software Testing: A Survey (2015, background): “Automated test input generation been the subject of many significant advances in both Search-Based Testing [3], [5], [83], [126], [128] and Dynamic Symbolic Execution [75], [108], [161]; yet none of these advances address the issue of checking generated inputs with respect to expected behaviours—tha”
- Hybrid type checking (2006, background): “By performing random or directed [18] testing of several values for n and m until it finds a counterexample, the theorem prover might reasonably refute the conjectured equality: ∀n,m ∈ Int.”
- Differential symbolic execution (2008, methodology): “implement concolic test generation for programs written in C in DART (Directed Automated Random Testing) [30].”
- Whole Test Suite Generation (2013, methodology): “[22] or CUTE [39] have a similar objective, assuming the”
- Taint-based directed whitebox fuzzing (2009, background): “Concolic Testing: Generally speaking, a concolic tester executes the subject program both concretely and symbolically on a seed input until it reaches some interesting program expression [10, 22, 7, 18].”
- Type test scripts for TypeScript testing (2017, result): “Although TStest succeeds in detecting numerous type mismatches with relatively simple means, these results indicate that it may be worthwhile in future work to extend TStest with, for example, dynamic symbolic execution capabilities [Godefroid et al. 2005] to increase the coverage.”
- A NICE Way to Test OpenFlow Applications (2012, neutral): “To avoid modifying the Python interpreter, we implement a derivative technique of symbolic execution called concolic execution [24](3), which executes the code with concrete instead of symbolic inputs.”
- Feedback-Directed Random Test Generation (2007, background): “Recent work by Godefroid et al [11, 25] explores DART, a symbolic execution approach that integrates random input generation.”