CUTE: A concolic unit testing engine for C

Koushik Sen, Darko Marinov, Gul Agha

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationESEC/FSE'05 - Proceedings of the Joint 10th European Software Engineering Conference (ESEC) and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13)
EditorsH. Gall
Pages263-272
Number of pages10
StatePublished - Dec 1 2005
EventESEC/FSE'05 - Joint 10th European Software Engineering Conference (ESEC) and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13) - Lisbon, Portugal
Duration: Sep 5 2005Sep 9 2005

Publication series

NameESEC/FSE'05 - Proceedings of the Joint 10th European Software Engineering Conference (ESEC) and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13)

Other

OtherESEC/FSE'05 - Joint 10th European Software Engineering Conference (ESEC) and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13)
CountryPortugal
CityLisbon
Period9/5/059/9/05

Keywords

  • Concolic testing
  • Data structure testing
  • Explicit path model-checking
  • Random testing
  • Testing C programs
  • Unit testing

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint Dive into the research topics of 'CUTE: A concolic unit testing engine for C'. Together they form a unique fingerprint.

Cite this