CUTE

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 64 articles )

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

1 2 3 4 next

  1. Mesnard, Fred; Payet, Étienne; Vidal, Germán: Concolic testing in CLP (2020)
  2. Amadini, Roberto; Andrlon, Mak; Gange, Graeme; Schachte, Peter; Søndergaard, Harald; Stuckey, Peter J.: Constraint programming for dynamic symbolic execution of JavaScript (2019)
  3. Vlček, Jan; Lukšan, Ladislav: Application of the infinitely many times repeated BNS update and conjugate directions to limited-memory optimization methods. (2019)
  4. Godefroid, Patrice; Sen, Koushik: Combining model checking and testing (2018)
  5. Julliand, J.; Kouchnarenko, O.; Masson, P. A.; Voiron, G.: Test generation from event system abstractions to cover their states and transitions (2018)
  6. Lauko, Henrich; Ročkai, Petr; Barnat, Jiří: Symbolic computation via program transformation (2018)
  7. Porncharoenwase, Sorawee; Nelson, Tim; Krishnamurthi, Shriram: CompoSAT: specification-guided coverage for model finding (2018)
  8. Chakraborty, Supratik; Gupta, Ashutosh; Jain, Rahul: Matching multiplications in bit-vector formulas (2017)
  9. Lampropoulos, Leonidas; Gallois-Wong, Diane; Hriţcu, Cătălin; Hughes, John; Pierce, Benjamin C.; Xia, Li-yao: Beginner’s Luck: a language for property-based generators (2017)
  10. Lucanu, Dorel; Rusu, Vlad; Arusoaie, Andrei: A generic framework for symbolic execution: a coinductive approach (2017)
  11. Nguyen, Thanhvu; Weimer, Westley; Kapur, Deepak; Forrest, Stephanie: Connecting program synthesis and reachability: automatic program repair using test-input generation (2017)
  12. Rusu, Vlad; Arusoaie, Andrei: Executing and verifying higher-order functional-imperative programs in Maude (2017)
  13. Cai, Jun; Zou, Peng; Ma, Jinxin; He, Jun: SwordDTA: A dynamic taint analysis tool for software vulnerability detection (2016) ioport
  14. Kroening, Daniel; Strichman, Ofer: Decision procedures. An algorithmic point of view (2016)
  15. Saarikivi, Olli; Heljanko, Keijo: LCTD: test-guided proofs for C programs on LLVM (2016)
  16. Arusoaie, Andrei; Lucanu, Dorel; Rusu, Vlad: Symbolic execution based on language transformation (2015)
  17. Cavalcanti, Ana; Gaudel, Marie-Claude: Test selection for traces refinement (2015)
  18. Chen, Yannan; Sun, Wenyu: A dwindling filter line search method for unconstrained optimization (2015)
  19. Duan, Zhenhua; Bu, Kangkang; Tian, Cong; Zhang, Nan: Model checking MSVL programs based on dynamic symbolic execution (2015)
  20. Gould, Nicholas I. M.; Orban, Dominique; Toint, Philippe L.: CUTEst: a constrained and unconstrained testing environment with safe threads for mathematical optimization (2015)

1 2 3 4 next