DART is a platform that combines symbolic execution and concrete execution that allows the programmers to automatically generate test cases for a given program with source code without any manual effort. DART combined three main techniques: automated extraction of the interface of a program with its external environments using static source-code parsing, automatic generation of a test driver for this interface that performs random testing to simulate the most general environment and dynamic symbolic execution that will direct executions systematically along alternative program paths. DART used an extremely conservative approach that guarantees its soundness by flagging when symbolic execution could not longer continue to be used to limit the search space of some variable. In addition to that, due to the combined power of symbolic and concrete execution, it is able to coupe with unknown third party external function calls, which pure symbolic execution tools cannot achieve. Furthermore, this also allows it to make a statement of soundness of the problems it reports due to the fact that all errors actually come from real execution and at least 1 input is guaranteed to cause the problem.