Symbolic Execution
Designing targeted control-flow transformations that reduce path explosion and improve bug discovery in dynamic symbolic execution.
PhD Student in Computer Science, Virginia Tech
I study compiler and program-analysis techniques for improving software reliability, security, and test effectiveness, with current work in symbolic execution and constant-time transformations.
mhassan01@vt.edu · Google Scholar · GitHub · LinkedIn · CV
About
I am a PhD student in Computer Science at Virginia Tech, advised by Dr. Kirshanthan Sundararajah. My research interests are in compilers, programming languages, software testing, and security, with an emphasis on techniques that make program behavior easier to analyze and validate.
Before Virginia Tech, I completed my B.S. in Computer Science at Lahore University of Management Sciences, where I worked on software debloating and security evaluation. I am especially interested in research that combines principled compiler ideas with empirical systems evaluation.
Research
Designing targeted control-flow transformations that reduce path explosion and improve bug discovery in dynamic symbolic execution.
Developing compiler transformations that reduce timing side-channel leakage and preserve constant-time behavior across optimized code.
Evaluating software and container debloating techniques across correctness, CVE mitigation, attack-surface reduction, and usability.
Publications
PACMPL 10(OOPSLA1), 2026
Charitha Saumya, Muhammad Hassan, Rohan Gangaraju, Milind Kulkarni, Kirshanthan Sundararajah.
IEEE Secure Development Conference 2023
Muhammad Hassan, T. Tahir, M. Farrukh, A. Naveed, A. Naeem, F. Shaon, F. Zaffar, A. Gehani, S. Rahaman.
Research Experience & Artifacts
Investigating compiler transformations for constant-time code and control-flow merging, with experimental evaluation in LLVM and KLEE.
Developed interactive 2D/3D annotation systems for digital-twin models, including rendering optimizations and synchronized spatial transformations.
Studied Docker image debloating through benchmarking, correctness testing, CVE analysis, and security-focused evaluation.
Targeted compiler transformations for mitigating path explosion in dynamic symbolic execution. Code and experiment scripts are available with the OOPSLA artifact.
Benchmarking framework for evaluating debloating correctness, size reduction, security, and time.
Skills
LLVM/Clang, KLEE, SMT solvers, program analysis, Docker, Vagrant
Python, C/C++, Assembly, JavaScript, Solidity, Haskell
Angular, React, Node, Django, TensorFlow, PyTorch, OpenCV
Linux, shell scripting, PostgreSQL, Three.js, Konva.js, Figma
Contact
The easiest way to reach me is by email. You can also find my work and professional profile through the links below.