Concepedia

Publication | Closed Access

DART

1.5K

Citations

19

References

2005

Year

TLDR

Directed Automated Random Testing (DART) combines static source‑code parsing, random test driver generation, and dynamic analysis to automatically test software. The authors introduce DART, a tool that automatically tests software by extracting program interfaces, generating random test drivers, and applying dynamic analysis. DART extracts program interfaces via static parsing, generates random test drivers to simulate general environments, and uses dynamic analysis to produce new test inputs that systematically explore alternative execution paths. DART automatically tests any compilable program without requiring test drivers, detecting crashes, assertion violations, and non‑termination, and preliminary experiments on C programs show promising results.

Abstract

We present a new tool, named DART, for automatically testing software that combines three main techniques: (1) automated extraction of the interface of a program with its external environment using static source-code parsing; (2) automatic generation of a test driver for this interface that performs random testing to simulate the most general environment the program can operate in; and (3) dynamic analysis of how the program behaves under random testing and automatic generation of new test inputs to direct systematically the execution along alternative program paths. Together, these three techniques constitute Directed Automated Random Testing, or DART for short. The main strength of DART is thus that testing can be performed completely automatically on any program that compiles -- there is no need to write any test driver or harness code. During testing, DART detects standard errors such as program crashes, assertion violations, and non-termination. Preliminary experiments to unit test several examples of C programs are very encouraging.

References

YearCitations

Page 1