SWAT: Modular dynamic symbolic execution for java applications using dynamic instrumentation (competition contribution)

Jan 1, 2024·
Nils Loose
,
Felix Mächtle
,
Florian Sieck
,
Thomas Eisenbarth
· 0 min read
Abstract
SWAT is a novel dynamic symbolic execution engine for Java applications utilizing dynamic instrumentation. SWAT’s unique modular design facilitates flexible communication between its symbolic explorer and executor using HTTP endpoints, thus enhancing adaptability to diverse application scenarios. The symbolic executor’s ability to attach to Java applications enables efficient constraint generation and path exploration. SWAT employs JavaSMT for constraint generation and ASM for bytecode instrumentation, ensuring robust performance. SWAT’s efficacy is evaluated in the Java Track of SV-COMP 2024, achieving fourth place.
Type
Publication
International Conference on Tools and Algorithms for the Construction and Analysis of Systems