CUTE: a concolic unit testing engine for C. In unit testing, a program is decomposed into units which are collections of functions. A part of unit can be tested by generating inputs for a single entry function. The entry function may contain pointer arguments, in which case the inputs to the unit are memory graphs. The paper addresses the problem of automating unit testing with memory graphs as inputs. The approach used builds on previous work combining symbolic and concrete execution, and more specifically, using such a combination to generate test inputs to explore all feasible execution paths. The current work develops a method to represent and track constraints that capture the behavior of a symbolic execution of a unit with memory graphs as inputs. Moreover, an efficient constraint solver is proposed to facilitate incremental generation of such test inputs. Finally, CUTE, a tool implementing the method is described together with the results of applying CUTE to real-world examples of C code.

This software is also peer reviewed by journal TOMS.

References in zbMATH (referenced in 46 articles )

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

1 2 3 next

  1. Cai, Jun; Zou, Peng; Ma, Jinxin; He, Jun: SwordDTA: A dynamic taint analysis tool for software vulnerability detection (2016) ioport
  2. Saarikivi, Olli; Heljanko, Keijo: LCTD: test-guided proofs for C programs on LLVM (2016)
  3. Cavalcanti, Ana; Gaudel, Marie-Claude: Test selection for traces refinement (2015)
  4. Chen, Yannan; Sun, Wenyu: A dwindling filter line search method for unconstrained optimization (2015)
  5. Duan, Zhenhua; Bu, Kangkang; Tian, Cong; Zhang, Nan: Model checking MSVL programs based on dynamic symbolic execution (2015)
  6. Gould, Nicholas I.M.; Orban, Dominique; Toint, Philippe L.: CUTEst: a constrained and unconstrained testing environment with safe threads for mathematical optimization (2015)
  7. Palacios, Adrián; Vidal, Germán: Concolic execution in functional programming by program instrumentation (2015)
  8. Vlček, Jan; Lukšan, Ladislav: A modified limited-memory BNS method for unconstrained minimization derived from the conjugate directions idea. (2015)
  9. Groce, Alex; Havelund, Klaus; Holzmann, Gerard; Joshi, Rajeev; Xu, Ru-Gang: Establishing flight software reliability: testing, model checking, constraint-solving, monitoring and learning (2014)
  10. Kádár, István; Hegedűs, Péter; Ferenc, Rudolf: Runtime exception detection in Java programs using symbolic execution (2014)
  11. Kulyamin, V.; Petrenko, A.: Evolution of the unitesk test development technology (2014) ioport
  12. Yu, Fang; Alkhalaf, Muath; Bultan, Tevfik; Ibarra, Oscar H.: Automata-based symbolic string analysis for vulnerability detection (2014)
  13. Botinčan, Matko; Babić, Domagoj: Sigma$^*$, symbolic learning of input-output specifications (2013)
  14. Christakis, Maria; Müller, Peter; Wüstholz, Valentin: Collaborative verification and testing with explicit assumptions (2012)
  15. Gower, R.M.; Mello, M.P.: A new framework for the computation of Hessians (2012)
  16. Hatcliff, John; Leavens, Gary T.; Leino, K.Rustan M.; Müller, Peter; Parkinson, Matthew: Behavioral interface specification languages (2012)
  17. Kim, Moonzoo; Kim, Yunho; Choi, Yunja: Concolic testing of the multi-sector Read operation for flash storage platform software (2012) ioport
  18. Kosmatov, Nikolai; Williams, Nicky; Botella, Bernard; Roger, Muriel; Chebaro, Omar: A lesson on structural testing with (2012) ioport
  19. Mühlberg, Jan Tobias; Lüttgen, Gerald: Verifying compiled file system code (2012) ioport
  20. Aguirre, Nazareno M.; Bengolea, Valeria S.; Frias, Marcelo F.; Galeotti, Juan P.: Incorporating coverage criteria in bounded exhaustive black box test generation of structural inputs (2011) ioport

1 2 3 next