Chopping Code for More Modular and Scalable Symbolic Execution

Abstract

Dynamic symbolic execution is a program analysis technique that can automatically explore and analyse paths through a program. It is now a key ingredient in many computer science areas, such as software engineering, computer security, and software systems, to name just a few. In this talk, I will introduce chopped symbolic execution (joint work with Trabish, Mattavelli, and Rinetzky, ICSE 2018), a variant of dynamic symbolic execution which aims to increase the modularity and scalability of symbolic execution. Chopped symbolic execution enables users to safely skip code fragments that are irrelevant to their current tasks, and is applicable to many different scenarios, such as test suite augmentation, failure reproduction and patch testing.

Invited talk at FaceTAV 2018.