A Deterministic Memory Allocator for Dynamic Symbolic ExecutionVCOOP 2022ECOOP 2022
Thu 7 Jul 2022 17:45 - 18:15 at Zoom - VCOOP 11 Chair(s): Doug Lea
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 discuss 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 and first show that it is competitive with KLEE’s default allocator in terms of performance and memory overhead, and in fact significantly improves performance in several cases. We then highlight its benefits for use-after-free error detection and two distinct DSE-based techniques: MoKlee, a system for saving DSE runs to disk and later (partially) restoring them, and SymLive, a system for finding infinite loops.
Fri 10 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | Program Analysis 2Research Papers / Hub Talks at Aurora Borealis 1 Chair(s): Quentin Stiévenart Vrije Universiteit Brussel | ||
13:30 20mTalk | Low-Level Bi-AbductionECOOP 2022 Research Papers Lukáš Holík Brno University of Technology, Petr Peringer Brno University of Technology, Adam Rogalewicz Brno University of Technology, Faculty of Information Technology, Veronika Šoková Brno University of Technology, Tomáš Vojnar Brno University of Technology, Florian Zuleger TU Vienna | ||
13:50 20mTalk | On the computation of interprocedural weak control closureHub Talk Hub Talks Abu Naser Masud Malardalen University Link to publication DOI | ||
14:10 20mTalk | Slicing of Probabilistic Programs based on SpecificationsECOOP 2022 Research Papers Federico Olmedo University of Chile & IMFD Chile Pre-print | ||
14:30 20mTalk | A Deterministic Memory Allocator for Dynamic Symbolic ExecutionVCOOP 2022ECOOP 2022 Research Papers Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London, UK |
Thu 7 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:45 - 18:15 | |||
16:45 30mTalk | REST: Integrating Term Rewriting with Program VerificationVCOOP 2022ECOOP 2022 Research Papers Zachary Grannan University of British Columbia, Eva Darulova Uppsala University, Alexander J. Summers University of British Columbia, Niki Vazou IMDEA Software Institute | ||
17:15 30mTalk | Static Analysis for AWS Best Practices in Python CodeVCOOP 2022ECOOP 2022 Research Papers Rajdeep Mukherjee Amazon Web Services, Omer Tripp Amazon, Ben Liblit Amazon, Michael Wilson Amazon Web Services DOI | ||
17:45 30mTalk | A Deterministic Memory Allocator for Dynamic Symbolic ExecutionVCOOP 2022ECOOP 2022 Research Papers Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London, UK |