Posts by Collection

portfolio

publications

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]

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]

CN2F: A Cloud-Native Cellular Network Framework

Sepehr Ganji, Shirin Behnaminia, Ali Ahangarpour, Erfan Mazaheri, Sara Baradaran, Zeinab Zali, Mo...
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]

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]

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]

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]

talks

teaching

Teaching Assistant - Fall 2018

C Programming Lab

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2018

Course Instructor: Dr. Elham Mahmoudzadeh

Teaching Assistant - Spring 2019

Discrete Mathematical Structures

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2019

Course Instructor: Dr. Akbar Davoodi Zavareh

Teaching Assistant - Spring 2019

C Programming Lab

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2019

Course Instructor: Dr. Elham Mahmoudzadeh

Teaching Assistant - Spring 2020

Algorithm Design and Analysis

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2020

Course Instructor: Dr. Mohammad Reza Heidarpour

Teaching Assistant - Spring 2020

Compiler Design

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2020

Course Instructor: Dr. Zeinab Zali

Teaching Assistant - Fall 2020

Compiler Design

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2020

Course Instructor: Dr. Maryam Mouzarani

Teaching Assistant - Spring 2021

Fundamentals of Computer Security

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2021

Course Instructor: Dr. Maryam Mouzarani

Teaching Assistant - Fall 2021

Operating System Lab

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2021

Course Instructor: Dr. Mohammad Reza Heidarpour & Dr. Zeinab Zali

Teaching Assistant - Spring 2022

Algorithm Design and Analysis

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2022

Course Instructor: Dr. Mohammad Reza Heidarpour

Teaching Assistant - Spring 2022

Compiler Design

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2022

Course Instructor: Dr. Zeinab Zali

Teaching Assistant - Fall 2022

Operating System Lab

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2022

Course Instructor: Dr. Mohammad Reza Heidarpour & Dr. Zeinab Zali

Teaching Assistant - Spring 2023

Advanced Programming Lab

Isfahan University of Technology, Department of Electrical and Computer Engineering, 2023

Course Instructor: Dr. Zeinab Zali

Teaching Assistant - Fall 2024

Security Systems

University of Southern California, Thomas Lord Department of Computer Science, 2024

Course Instructor: Dr. Clifford Neuman

Teaching Assistant - Spring 2025

Introduction to Operating Systems

University of Southern California, Thomas Lord Department of Computer Science, 2025

Course Instructor: Dr. Tatyana Ryutov