CSE Seminar (2024. February 28th): Data-driven Symbolic Execution (Prof. Sooyoung Cha at SKKU)

Date: 2024. February 28th
Time: 4 pm
Location: 104 E204

Seminar Title: Data-driven Symbolic Execution
Speaker: Prof. Sooyoung Cha / Sungkyunkwan University


Symbolic execution is a popular software testing method to achieve high code coverage and find bugs. The basic idea of symbolic execution is to replace program inputs with symbolic variables and explore the execution paths of a program symbolically. Over the past decades, many different techniques (e.g., search heuristic, state-pruning heuristic) for symbolic execution have been manually designed by domain experts to enhance its performance. However, our key observation is that manually designing such techniques is nontrivial and typically ends up with suboptimal and unstable outcomes.

In this talk, to overcome this limitation, I will introduce data-driven symbolic execution, a new approach that automatically generates diverse solutions of symbolic execution without reliance on domain experts. The key idea is to learn how to design good techniques based on data accumulated during symbolic execution. Experimental results show that the transition from conventional symbolic execution to data-driven symbolic execution remarkably enhances the effectiveness in terms of both code coverage and bug-finding. I will start with a brief introduction to symbolic execution.

Sooyoung Cha is an Assistant Professor at the College of Computing at Sungkyunkwan University (SKKU). He received his Ph.D. in Computer Science from Korea University in 2021. He was a research professor at the Center for Software Security and Assurance at Korea University before joining SKKU in 2021. His research interest includes software testing, program analysis, and machine learning.