Execution Trace Reconstruction Using Diffusion-Based Generative Models

November 5, 2024 · View on GitHub

This is the official repository for the Execution Trace Reconstruction Using Diffusion-Based Generative Models, accepted in ICSE 2025. In this work, we introduce a novel application of diffusion-based generative models for reconstructing traces, conduct a thorough evaluation of four models using several distinct system call sequence datasets, and compare against other approaches.

Datasets

The trace data used to make each dataset are publicly available:

DatasetPublicationData
Phoronix Test Suites (PTS) - compress-gzip, ffmpeg, scimark2, stream, ramspeed, phpbench, pybench, iozone, and unpack-linuxAutomatic benchmark profiling through advanced workflow-based trace analysis by Alexis Martin, Vania Marangozova-Martinlink
ApacheOn Improving Deep Learning Trace Analysis with System Call Arguments by Quentin Fournier, Daniel Aloise, Seyed Vahid Azhari, and François Tetreaultlink
PLAIDMethods for Host-based Intrusion Detection with Deep Learning by John H. Ring, IV, Colin M. Van Oort, Samson Durst, Vanessa White, Joseph P. Near, and Christian Skalkalink
ELKEnhancing empirical software performance engineering research with kernel-level events: A comprehensive system tracing approach by Morteza Noferesti and Naser Ezzati-Jivanlink

The sequence datasets created using these sources are all found in the Datasets folder.

Training and Evaluation

The code used to train and evaluate the SSSDS4`SSSD^{S4}`, SSSDSA`SSSD^{SA}`, CSDIS4`CSDI^{S4}`, and DiffWave models can be found at this GitHub repo. The results obtained using these models using different sequences lengths (50, 100, 150, 200) and blackout sizes (1, 5, 10, 20, 30, 40) are found in the Results folder.