Affiliation:
1. Bell Laboratories, Lucent Technologies
2. University of Illinois at Urbana-Champaign, Urbana, IL
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
897 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Knowledge transfer based many-objective approach for finding bugs in multi-path loops;Complex & Intelligent Systems;2024-01-24
2. VISGRADER: Automatic Grading of D3 Visualizations;IEEE Transactions on Visualization and Computer Graphics;2024-01
3. Impacts of Program Structures on Code Coverage of Generated Test Suites;Product-Focused Software Process Improvement;2023-12-02
4. Neural-Based Test Oracle Generation: A Large-Scale Evaluation and Lessons Learned;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
5. LExecutor: Learning-Guided Execution;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30