Ph.D. in Computer Science, Purdue University, 2018

Human always makes mistakes. Cybercriminals aim to exploit vulnerabilities that are essentially mistakes in software/hardware systems. I aim to prevent them for good.


As we are more and more surrounded by computer systems, we are getting more and more vulnerable to cybercriminals that exploit those vulnerabilities. As you may have seen on media, cybercriminals are getting smarter and powerful than ever before, with the state-level supports and tremendous financial and political leverages. Software plays a critical role in cyber defense because (1) most systems rely on software that is basically buggy all the time and (2) software sits between users and hardware where even when hardware has vulnerabilities, software patches can rescue them.

I aim to solve this pressing problem: protecting software systems against cybercriminals by understanding the causes of vulnerabilities and fixing them.

My research interests include software systems security (i.e., securing software to prevent cyber attacks), cyber forensics (i.e., recovering cyber forensic evidence from data/programs), and software engineering (software testing and reverse-engineering). My research aims to build systems that automatically analyze, understand, and enhance software systems on various environments and platforms including PC, embedded devices, IoT, CPS, etc.


  • ACM SIGPLAN Distinguished Paper Award 2019
  • National Science Foundation CRII Award 2019
  • Maurice H. Halstead Memorial Award 2017
  • ACM SIGSOFT Distinguished Paper Award 2013
  • IEEE ASE (Automated Software Engineering) Best Paper Award 2013
  • Microsoft Most Valuable Professional 2008-2012

Research Interests

  • Software Systems Security
  • Software Engineering (Dynamic/Static Analysis, Software Testing)
  • Binary/Malware Analysis, Reverse-engineering
  • Internet of Things/Cyber Physical Systems (IoT/CPS) Security
  • Cyber Forensics

Selected Publications

  • MalMax: Multi-Aspect Execution for Automated Dynamic Web Server Malware Analysis ABS In Proc. of the 26th ACM Conference on Computer and Communications Security (CCS'19),
  • PMP: Cost-effective Forced Execution with Probabilistic Memory Pre-planning In Proc. of the 41st IEEE Symposium on Security and Privacy (S&P'20)
  • TARDIS: Rolling Back The Clock On CMS-Targeting Cyber Attacks In Proc. of the 41st IEEE Symposium on Security and Privacy (S&P'20)
  • BDA: Practical Dependence Analysis for Binary Executables by Unbiased Whole-program Path Sampling and Per-path Abstract Interpretation In Proc. of the 2019 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'19), Distinguished Paper Award
  • Probabilistic Disassembly In Proc. of the 41st International Conference on Software Engineering (ICSE'19)
  • MCI: Modeling-based Causality Inference in Audit Logging for Attack Investigation ABS In Proc. of the 25th Network and Distributed System Security Symposium (NDSS'18)
  • A2C: Self Destructing Exploit Executions via Input Perturbation ABS In Proc. of the 24th Network and Distributed System Security Symposium (NDSS'17)
  • LDX: Causality Inference by Lightweight Dual Execution ABS In Proc. of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'16)
  • PIEtrace: Platform Independent Executable Trace ABS In Proc. of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13), Distinguished Paper Award

Featured Grants & Projects