ACM Home Page
Please provide us with feedback. Feedback
CUTE: a concolic unit testing engine for C
Full text PdfPdf (264 KB)
Source Foundations of Software Engineering archive
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering table of contents
Lisbon, Portugal
SESSION: Testing table of contents
Pages: 263 - 272  
Year of Publication: 2005
ISBN:1-59593-014-0
Also published in ...
Authors
Koushik Sen  University of Illinois at Urbana-Champaign
Darko Marinov  University of Illinois at Urbana-Champaign
Gul Agha  University of Illinois at Urbana-Champaign
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 36,   Downloads (12 Months): 215,   Citation Count: 67
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1081706.1081750
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
T. Ball. Abstraction-guided test generation: A case study. Technical Report MSR-TR-2003-86, Microsoft Research.
 
2
C. W. Barrett and S. Berezin. CVC Lite: A new implementation of the cooperating validity checker. In Proc. 16th International Conference on Computer Aided Verification, pages 515--518, July 2004.
 
3
 
4
5
 
6
C. Cadar and D. Engler. Execution generated test cases: How to make systems code crash itself. In Proc. of SPIN Workshop, 2005.
7
 
8
9
 
10
J. E. Forrester and B. P. Miller. An Empirical Study of the Robustness of Windows NT Applications Using Random Testing. In Proceedings of the 4th USENIX Windows System Symposium, 2000.
11
12
 
13
 
14
S. Khurshid, C. S. Pasareanu, and W. Visser. Generalized symbolic execution for model checking and testing. In Proc. 9th Int. Conf. on TACAS, pages 553--568, 2003.
 
15
B. Korel. A dynamic Approach of Test Data Generation. In IEEE Conference on Software Maintenance, pages 311--317, November 1990.
 
16
E. Larson and T. Austin. High coverage detection of input-related security faults. In Proc. of the 12th USENIX Security Symposium (Security '03), Aug. 2003.
 
17
lp_solve. http://groups.yahoo.com/group/lp_solve/.
 
18
J. McCarthy and J. Painter. Correctness of a compiler for arithmetic expressions. In Proceedings of Symposia in Applied Mathematics. AMS, 1967.
 
19
20
 
21
C. Pacheco and M. D. Ernst. Eclat: Automatic generation and classification of test inputs. In 19th European Conference Object-Oriented Programming, 2005.
 
22
Parasoft. Jtest manuals version 6.0. Online manual, February 2005. http://www.parasoft.com/.
 
23
 
24
K. Sen, D. Marinov, and G. Agha. CUTE: A concolic unit testing engine for C. Technical Report UIUCDCS-R-2005-2597, UIUC, 2005.
 
25
SGLIB. http://xref-tech.com/sglib/main.html.
 
26
Valgrind. http://valgrind.org/.
27
 
28
 
29
 
30
T. Xie, D. Marinov, W. Schulte, and D. Notkin. Symstra: A framework for generating object-oriented unit tests using symbolic execution. In Proc. of the Tools and Algorithms for the Construction and Analysis of Systems, 2005.

CITED BY  67

Collaborative Colleagues:
Koushik Sen: colleagues
Darko Marinov: colleagues
Gul Agha: colleagues