Title
BLISS: Improved Symbolic Execution by\ Bounded Lazy Initialization with SAT Support
Abstract
Using Lazy Initialization (LI), symbolic execution can effectively deal with heap-allocated data structures, thanks to a significant reduction in spurious and redundant symbolic structures. Bounded Lazy Initialization (BLI) improves on LI by taking advantage of precomputed relational bounds on the interpretation of class fields to reduce the number of spurious structures even further. In this article we present BLISS, a novel technique that refines the search for valid structures during the symbolic execution process. BLISS builds upon BLI, extending it with field bound refinement and satisfiability checks. Field bounds are refined while a symbolic structure is concretized, avoiding cases that, due to the concrete part of the heap and the field bounds, can be deemed redundant. Satisfiability checks on refined symbolic heaps allow us to prune these heaps as soon as they are identified as infeasible, i.e., as soon as it can be confirmed that they cannot be extended to any valid concrete heap. Compared to LI and BLI, BLISS reduces the time required by LI by up to 4 orders of magnitude for the most complex data structures. Moreover, the number of partially symbolic structures obtained by exploring program paths is reduced by BLISS by over 50%, with reductions of over 90% in some cases (compared to LI). BLISS uses less memory than LI and BLI, which enables the exploration of states unreachable by previous techniques.
Year
DOI
Venue
2015
10.1109/TSE.2015.2389225
IEEE Transactions on Software Engineering
Keywords
Field
DocType
Symbolic execution, lazy initialization, tight field bounds, Symbolic PathFinder
Data structure,Computer science,Binary tree,Algorithm,Heap (data structure),Theoretical computer science,Lazy initialization,Symbolic execution,BLISS,Symbolic trajectory evaluation,Bounded function
Journal
Volume
Issue
ISSN
PP
99
0098-5589
Citations 
PageRank 
References 
14
0.60
20
Authors
5
Name
Order
Citations
PageRank
Nicolas Rosner1562.32
Jaco Geldenhuys237219.68
Nazareno Aguirre315921.79
Willem Visser4382.72
Marcelo F. Frias529535.57