ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA
Wed 18 Jul 2018 14:57 - 15:13 at Winterthur - Session 2

Junior Submission
Symbolic execution is an effective technique for exploring paths in a program and reasoning about all possible values on those paths. However, the technique still struggles with code that uses complex heap data structures, in which a pointer is allowed to refer to more than one memory object. In such cases, symbolic execution typically forks execution into multiple states, one for each object to which the pointer could refer. In this work, we propose a technique that avoids this expensive forking scheme by using a flat memory scheme instead, i.e. essentially merging all memory objects into one. To make this approach feasible, we use alias analysis to split the flat memory into multiple memory pools, and also implement a hybrid approach in which the flat memory and forking schemes co-exist. We evaluate our technique on a mix of synthetic benchmarks (which manipulate standard data structures such as matrices and hash tables) and real programs (such as m4 and make), and observe significant gains in terms of performance and memory usage, respectively.

Wed 18 Jul

ecoop-issta-2018-doctoral-symposium
13:30 - 15:24: Doc Symposium - Session 2 at Winterthur
ecoop-issta-2018-doctoral-symposium14:00 - 14:25
Doctoral symposium paper
Olivier FlückigerNortheastern University, USA
File Attached
ecoop-issta-2018-doctoral-symposium14:25 - 14:41
Doctoral symposium paper
Tony AntoniadisUniversity of Athens, Greece
File Attached
ecoop-issta-2018-doctoral-symposium14:41 - 14:57
Doctoral symposium paper
Goran PiskachevFraunhofer IEM
File Attached
ecoop-issta-2018-doctoral-symposium14:57 - 15:13
Doctoral symposium paper
Timotej KapusImperial College London
File Attached
ecoop-issta-2018-doctoral-symposium15:13 - 15:29
Doctoral symposium paper
Dan IorgaImperial College London, UK