• Aucun résultat trouvé

Multi-solver Support in Symbolic Execution

N/A
N/A
Protected

Academic year: 2022

Partager "Multi-solver Support in Symbolic Execution"

Copied!
1
0
0

Texte intégral

(1)

Multi-solver Support in Symbolic Execution

Hristina Palikareva and Cristian Cadar

Department of Computing, Imperial College London London, United Kingdom

{h.palikareva, c.cadar}@imperial.ac.uk

Abstract

In this talk, we will present the results reported in our CAV 2013 paper [6] on integrating support for multiple SMT solvers in the dynamic symbolic execution engineKLEE[2]. In particular, we will outline the key characteristics of the SMT queries generated during symbolic execution, introduce an extension ofKLEEthat uses a number of state-of-the-art SMT solvers (Boolector[1],STP[4] andZ3[3]) through themetaSMT[5] solver framework, and compare the solvers’ performance when run on large sets of QF ABV queries obtained during the symbolic execution of real-world software. In addition, we will discuss several options for designing a parallel portfolio solver for symbolic execution tools.

References

[1] Robert Brummayer and Armin Biere. Boolector: An efficient SMT solver for bit-vectors and arrays.

InTACAS’09.

[2] Cristian Cadar, Daniel Dunbar, and Dawson Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. InOSDI’08.

[3] Leonardo de Moura and Nikolaj Bjørner. Z3: An efficient SMT solver. InTACAS’08.

[4] Vijay Ganesh and David L. Dill. A decision procedure for bit-vectors and arrays. InCAV’07.

[5] Finn Haedicke, Stefan Frehse, G¨orschwin Fey, Daniel Große, and Rolf Drechsler. metaSMT: Focus on your application not on solver integration. InDIFTS’12.

[6] Hristina Palikareva and Cristian Cadar. Multi-solver support in symbolic execution. InCAV’13.

http://srg.doc.ic.ac.uk/files/papers/klee-multisolver-cav-13.pdf.

Références

Documents relatifs

For instance, the congruence closure algorithm [ 97 , 6 ] and the ground completion procedure [ 114 ] are used to decide quantifier-free formulas modulo the free theory of equality..

We show three use cases for our tool: the first one illustrates the execution and LTL model checking for imp programs extended with I/O instructions, the second one demonstrates the

It relies on a more general way of defining programming languages, consisting in using (Topmost) Matching Logic to denote sets of program states and Reachability Logic for

Active state forking makes it possible to raise dynamic merging strategies, and next task is to identify ”good” merging actions. In this section, we will explain how to

We describe ongoing work to compose an inventory of such “SMT-like“ queries ex- tracted from the built-in Maple library, most of which were added long before the inclusion in Maple

• Dependency Analysis - A component for computing the set of transitions that have an impact or are impacted by any of the updated transitions found in T updated. The two inputs to

Inspired by the research work for optimizing the symbolic execution of evolving programs [8, 9], we propose two different optimization techniques that leverage the similarities

This conjecture, which is similar in spirit to the Hodge conjecture, is one of the central conjectures about algebraic independence and transcendental numbers, and is related to many