ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Efficient solving of structural constraints
Full text PdfPdf (305 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the 2008 international symposium on Software testing and analysis table of contents
Seattle, WA, USA
SESSION: Symbolic and concrete execution table of contents
Pages: 39-50  
Year of Publication: 2008
ISBN:978-1-60558-050-0
Authors
Bassem Elkarablieh  The University of Texas at Austin, Austin, TX, USA
Darko Marinov  The University of Illinois at Urbana, Urbana, IL, USA
Sarfraz Khurshid  The University of Texas at Austin, Austin, TX, USA
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 73,   Citation Count: 0
Additional Information:

abstract   references   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/1390630.1390637
What is a DOI?

ABSTRACT

Structural constraint solving is being increasingly used for software reliability tasks such as systematic testing or error recovery. For example, the Korat algorithm provides constraint-based test generation: given a Java predicate that describes desired input constraints and a bound on the input size, Korat systematically searches the bounded input space of the predicate to generate all inputs that satisfy the constraints. As another example, the STARC tool uses a constraint-based search to repair broken data structures. A key issue for these approaches is the efficiency of search.

This paper presents a novel approach that significantly improves the efficiency of structural constraint solvers. Specifically, most existing approaches use backtracking through code re-execution to explore their search space. In contrast, our approach performs checkpoint-based backtracking by storing partial program states and performing abstract undo operations. The heart of our approach is a light-weight search that is performed purely through code instrumentation. The experimental results on Korat and STARC for generating and repairing a set of complex data structures show an order to two orders of magnitude speed-up over the traditionally used searches.


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
 
2
C. Cadar and D. Engler. Execution generated test cases: How to make systems code crash itself. In Proc. 12th SPIN Workshop on Software Model Checking, 2005.
 
3
 
4
 
5
6
7
8
 
9
10
11
 
12
 
13
S. Khurshid, I. García, and Y. L. Suen. Repairing structurally complex data. In Proc. 12th SPIN Workshop on Software Model Checking, 2005.
 
14
S. Khurshid, C. Pasareanu, and W. Visser. Generalized symbolic execution for model checking and testing. In Proc. 9th Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), Warsaw, Poland, April 2003.
15
 
16
17
 
18
 
19
 
20
 
21
22
23
24
 
25
K. Stobie. Advanced modeling, model based test generation, and Abstract state machine Language (AsmL). Seattle Area Software Quality Assurance Group, http://www.sasqag.org/pastmeetings/asml.ppt, Jan. 2003.
26
 
27
28
29
30
31

Collaborative Colleagues:
Bassem Elkarablieh: colleagues
Darko Marinov: colleagues
Sarfraz Khurshid: colleagues