My research is in software
engineering/formal methods, with emphasis on concurrency, verification,
and program synthesis. I develop new methods and analysis tools for improving
the safety and security of software.
Of particular interest are the emerging software applications in cyber physical systems (CPS) and the Internet of Things (IoT).
- ConcBugAssist (a tool for diagnosis and repair
of concurrency bugs)
(a dynamic analysis tool for concurrent data structures)
(model checking/symbolic execution for concurrent software)
Sniffer (a side-channel leak detection and mitigation tool)
Synthesizer (a set of software tools for program synthesis)
(a concurrent C/C++ program mutation generation tool)
- I gave a lecture in 2014 SAT/SMT Summer School in
Semmering, Austria (part-1, part-2,
- I gave a tutorial on Dynamic Binary Program
Analysis at RV 2013 (paper).
- I gave a tutorial on Predicting Concurrency
Failures in x86 Binaries at RV 2011 (paper).
- I organized a tutorial on Embedded Software
Verification at ICCAD 2008 (preface,
- Lu Zhang (Ph.D. 2016), first employment: Oracle
Eldib (Ph.D. 2015), first employment: Postdoc at Rice University
- Sepideh Khoshnood (M.S. 2015),
first employment: Microsoft
- Arijit Chattopadhyay (M.S. 2014), first employment:
- Kiran Adhikari (M.S.
2013), first employment: Intel
- Kevin Hoang (B.S. 2014) , first employment: SAIC