Dynamic symbolic execution (DSE) has established itself as an effective testing and analysis technique. While the memory model in DSE has attracted significant attention, the memory allocator has been largely ignored, despite its significant influence on DSE. In this paper, we discuss the different ways in which the memory allocator can influence DSE and the main design principles that a memory allocator for DSE needs to follow: support for external calls, cross-run and cross-path determinism, spatially and temporally distanced allocations, and stability. We then present KDAlloc, a deterministic allocator for DSE that is guided by these six design principles. We implement KDAlloc in KLEE, a popular DSE engine, and first show that it is comp...
Poor timing predictability of multicore processors has been a long-standing challenge in the real-ti...
Constructing a complete control-flow graph (CGF) and computing upper bounds on loops of a computing ...
Artifact for the ECOOP 2022 Paper: A Deterministic Memory Allocator for Dynamic Symbolic Executio
Dynamic Symbolic Execution (DSE) has seen risingpopularity as it allows to check applications for be...
KDAlloc is a deterministic memory allocator for Dynamic Symbolic Execution. This artifact provides t...
Dynamic Symbolic Execution (DSE) is a technique to automatically generate test inputs by executing a...
Symbolic execution is a popular program analysis technique that allows seeking for bugs by reasoning...
Symbolic execution is an effective technique for exploring paths ina program and reasoning about all...
Given a portfolio of algorithms, the goal of Algorithm Selection (AS) is to select the best algorith...
When symbolic execution is used to analyse real-world applications,it often consumes all available m...
Software has become ubiquitous and its impact is still increasing. The more software is created, th...
Dynamic symbolic execution is a technique that analyses programs by gathering mathematical constrain...
Software applications’ performance is hindered by a variety of factors, but most notably by the well...
Symbolic execution is a popular program analysis technique that allows seeking for bugs by reasoning...
KLEE is a popular dynamic symbolic execution engine, initially designed at Stanford University and n...
Poor timing predictability of multicore processors has been a long-standing challenge in the real-ti...
Constructing a complete control-flow graph (CGF) and computing upper bounds on loops of a computing ...
Artifact for the ECOOP 2022 Paper: A Deterministic Memory Allocator for Dynamic Symbolic Executio
Dynamic Symbolic Execution (DSE) has seen risingpopularity as it allows to check applications for be...
KDAlloc is a deterministic memory allocator for Dynamic Symbolic Execution. This artifact provides t...
Dynamic Symbolic Execution (DSE) is a technique to automatically generate test inputs by executing a...
Symbolic execution is a popular program analysis technique that allows seeking for bugs by reasoning...
Symbolic execution is an effective technique for exploring paths ina program and reasoning about all...
Given a portfolio of algorithms, the goal of Algorithm Selection (AS) is to select the best algorith...
When symbolic execution is used to analyse real-world applications,it often consumes all available m...
Software has become ubiquitous and its impact is still increasing. The more software is created, th...
Dynamic symbolic execution is a technique that analyses programs by gathering mathematical constrain...
Software applications’ performance is hindered by a variety of factors, but most notably by the well...
Symbolic execution is a popular program analysis technique that allows seeking for bugs by reasoning...
KLEE is a popular dynamic symbolic execution engine, initially designed at Stanford University and n...
Poor timing predictability of multicore processors has been a long-standing challenge in the real-ti...
Constructing a complete control-flow graph (CGF) and computing upper bounds on loops of a computing ...
Artifact for the ECOOP 2022 Paper: A Deterministic Memory Allocator for Dynamic Symbolic Executio