ACM SIGPLAN Notices · 2005 · 2.1K citations · 32 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureHardware-software Co-designInterconnection NetworksFpga ArchitectureInterconnect ArchitectureNetwork-on-chip DesignRoutingRouting ArchitectureMulti-core ComputingNetwork-on-chipNetwork-on-chip ArchitecturesOn-chip CommunicationOn-chip InterconnectsOn-chip NetworksPerformance Trade-offs
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.
32
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 3K citations · Full text
Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar et al. · 2002 · 1.2K citations
Koen Claessen, John Hughes · ACM SIGPLAN Notices · 2011 · 1K citations
Model checking for programming languages using VeriSoft
Patrice Godefroid · 1997 · 829 citations · Full text