DART

DART: directed automated random testing. 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.

This software is also peer reviewed by journal TOMS.


References in zbMATH (referenced in 54 articles )

Showing results 1 to 20 of 54.
Sorted by year (citations)

1 2 3 next

  1. Bagnara, Roberto; Carlier, Matthieu; Gori, Roberta; Gotlieb, Arnaud: Exploiting binary floating-point representations for constraint propagation (2016)
  2. Duan, Zhenhua; Tian, Cong; Zhang, Nan: A canonical form based decision procedure and model checking approach for propositional projection temporal logic (2016)
  3. Cavalcanti, Ana; Gaudel, Marie-Claude: Test selection for traces refinement (2015)
  4. Groce, Alex; Havelund, Klaus; Holzmann, Gerard; Joshi, Rajeev; Xu, Ru-Gang: Establishing flight software reliability: testing, model checking, constraint-solving, monitoring and learning (2014)
  5. Kádár, István; Hegedűs, Péter; Ferenc, Rudolf: Runtime exception detection in Java programs using symbolic execution (2014)
  6. Kulyamin, V.; Petrenko, A.: Evolution of the unitesk test development technology (2014)
  7. Xie, Tao; Zhang, Lu; Xiao, Xusheng; Xiong, Ying-Fei; Hao, Dan: Cooperative software testing and analysis: advances and challenges (2014)
  8. Chattopadhyay, Sudipta; Roychoudhury, Abhik: Scalable and precise refinement of cache timing analysis via path-sensitive verification (2013)
  9. Cousot, Patrick; Cousot, Radhia; Fähndrich, Manuel; Logozzo, Francesco: Automatic inference of necessary preconditions (2013)
  10. Popeea, Corneliu; Chin, Wei-Ngan: Dual analysis for proving safety and finding bugs (2013)
  11. Amato, Gianluca; Parton, Maurizio; Scozzari, Francesca: Discovering invariants via simple component analysis (2012)
  12. Babić, Domagoj; Reynaud, Daniel; Song, Dawn: Recognizing malicious software behaviors with tree automata inference (2012)
  13. Christakis, Maria; Müller, Peter; Wüstholz, Valentin: Collaborative verification and testing with explicit assumptions (2012)
  14. Kim, Moonzoo; Kim, Yunho; Choi, Yunja: Concolic testing of the multi-sector Read operation for flash storage platform software (2012)
  15. Kosmatov, Nikolai; Williams, Nicky; Botella, Bernard; Roger, Muriel; Chebaro, Omar: A lesson on structural testing with pathcrawler-online.com (2012)
  16. Mühlberg, Jan Tobias; Lüttgen, Gerald: Verifying compiled file system code (2012)
  17. Slabý, Jiří; Strejček, Jan; Trtík, Marek: Checking properties described by state machines: on synergy of instrumentation, slicing, and symbolic execution (2012)
  18. Adir, Allon; Naveh, Yehuda: Stimuli generation for functional hardware verification with constraint programming (2011)
  19. Giannakopoulou, Dimitra; Bushnell, David H.; Schumann, Johann; Erzberger, Heinz; Heere, Karen: Formal testing for separation assurance (2011)
  20. Holzer, Andreas; Tautschnig, Michael; Schallhart, Christian; Veith, Helmut: An introduction to test specification in FQL (2011)

1 2 3 next