Publications

Prosecutor: Bayesian Counterfactual Fault Localization

Sara Baradaran, Yifei Huang, Wei Le, and Mukund Raghothaman
In Submission, 2026

In this paper, we present Prosecutor, a new fault localization technique that combines Bayesian reasoning with counterfactual execution analysis to effectively identify faults at the statement level.

[PDF]

LLM-Integrated Declarative Program Analysis

Sara Baradaran, Amirmohammad Nazari, and Mukund Raghothaman
PLDI Workshop on the State Of the Art in Program Analysis (SOAP), 2026

We introduce SemQL, a query language that enhances traditional program analysis tool CodeQL with an oracle invocation construct, which allows the analyzer to call external oracles like LLMs to handle tasks requiring semantic reasoning beyond syntax. While existing program analysis tools excel at analyzing code structure, they struggle with analyses requiring semantic/subjective judgments, e.g., detecting string literals in code which expose sensitive information. SemQL bridges this gap by allowing queries to combine structural analysis with LLM-based judgments. We also propose an efficient query evaluation method that reduces the cost of using the LLM, and demonstrate the system usefulness on real-world code analysis problems.

[BibTeX] [PDF] [Code]

Effective Minimization of Failure-Inducing Tests Using Convention-Aware Slicing

Sara Baradaran and Mukund Raghothaman
SANER Workshop on Validation, Analysis and Evolution of Software Tests (VST), 2026

Besides failure-triggering statements, failing tests often execute portions of code unrelated to the underlying defect, introducing noise and misleading information that hinder effective fault diagnosis. Test case minimization is therefore a critical step in the debugging process. We propose a slicing-based approach to address this problem. Our technique employs a novel data-flow analysis that leverages coding conventions to efficiently approximate the behavior of callee procedures without requiring access to their implementations. This enables us to initially derive a compact version of the test. If the minimized test fails to pass the verification step and trigger the original failure, a more conservative slicing approach is adopted on demand.

[BibTeX] [PDF] [Code]

Reusing Legacy Code in Wasm: Key Challenges of Compilation and Code Semantics Preservation

Sara Baradaran, Liyan Huang, Mukund Raghothaman, and Weihang Wang
IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), 2026

WebAssembly (Wasm) is a binary format designed for executing performance-critical code in web browsers. A key objective of Wasm is to facilitate the integration of legacy codebases and libraries into web applications without requiring developers to rewrite them in JavaScript from scratch. In practice, however, this objective is constrained by limitations in currently available WebAssembly compilers. In this paper, we investigate (1) the challenges that arise when cross-compiling high-level language codebases to WebAssembly, and (2) the extent to which WebAssembly compilers faithfully preserve program semantics in the resulting binaries. We also present WasmChecker, a differential testing framework for checking semantic equivalence between x86-64 binaries of C/C++ programs and their corresponding Wasm counterparts.

[BibTeX] [PDF] [Code]

CN2F: A Cloud-Native Cellular Network Framework

Sepehr Ganji, Shirin Behnaminia, Ali Ahangarpour, Erfan Mazaheri, Sara Baradaran, Zeinab Zali, Mohammad Rez...
Cluster Computing, 2025

Upcoming cellular networks aim to enhance the efficiency and flexibility of mobile systems by incorporating technologies such as Software-Defined Networking (SDN), Network Function Virtualization (NFV), and Network Slicing (NS). Several open-source projects provide implementations of components across different cellular generations. In this paper, we leverage these projects to build a flexible and extensible testbed for experimenting with next-generation cellular networks.

[BibTeX] [PDF] [Code]

A Unit-Based Symbolic Execution Method for Detecting Memory Corruption Vulnerabilities in Executable Codes

Sara Baradaran, Mahdi Heidari, Ali Kamali, and Maryam Mouzarani
International Journal of Information Security, 2023

We extend our prior work (published in TAP’22) and introduce static specifications for four common memory corruption vulnerabilities, i.e., heap-based buffer overflow, stack-based buffer overflow, use-after-free, and double-free. Leveraging these specifications, we identify relevant test units within x86-64 executable binaries which may contain such vulnerabilities. We then apply our unit-based symbolic execution approach to generate unit-level inputs which trigger these vulnerabilities and their corresponding system-level inputs.

[BibTeX] [PDF] [Code]

A Unit-Based Symbolic Execution Method for Detecting Heap Overflow Vulnerability in Executable Codes

Maryam Mouzarani, Ali Kamali, Sara Baradaran, and Mahdi Heidari
International Conference on Tests and Proofs (TAP), 2022

We propose a novel method for discovering vulnerabilities in executable code. Our approach restricts the scope of symbolic execution to a set of statically identified test units, enabling efficient computation of path and vulnerability constraints within these units. By solving these constraints using an SMT solver, we generate inputs that trigger the vulnerability in the targeted test unit. We then approximate the relationship between global system inputs and unit-level inputs by using curve fitting. Given the derived unit inputs, we subsequently compute corresponding system-level inputs which trigger a heap overflow.

[BibTeX] [PDF] [Code]