Rohan Padhye's Headshot

About Me

I research techniques to automatically discover software bugs. My work spans several areas including software engineering, programming languages, systems, and security. My recent projects make use of dynamic program analysis and coverage-guided fuzz testing. My papers have been published at venues such as ICSE, ASE, ISSTA, OOPSLA, SOSP, and USENIX Security. My research tools have been used to discover 50+ new bugs in widely used open-source software and have been adopted by various firms in industry.

I completed my Ph.D. in Computer Science at UC Berkeley, where I was advised by Koushik Sen. My dissertation investigated techniques for specializing program analysis and automated testing tools using artifacts that incorporate the knowledge of domain experts. Complementing my doctoral research, I collaborated with Microsoft Research on detecting thousands of concurrency bugs at industry-scale and with Samsung Research America on fuzzing trusted execution environments. Before going to Berkeley, I spent two years at IBM Research India, developing productivity tools using data mined from GitHub and other repositories. I hold a Master's degree from IIT Bombay.

I am also the lead designer of the ChocoPy programming language, which is used to teach the undergraduate compilers courses at UC Berkeley (and increasingly at other universities too).

My academic ancestors include Newton, Galelio, Kepler, and Copernicus.






I have the privilege of working with some fantastic students at CMU.

If you are a student motivated to pursue research in program analysis and automated testing, consider applying to the PhD program in Software Engineering at CMU. If you are already at CMU (in any program, graduate or undergraduate), and are interested in working with me, get in touch!

Academic Genealogy

Thanks to the MGP, I've discovered two very exciting lines in my academic ancestry! Here is a visualization that I made, complete with era-appropriate flags:

Bug Trophy Case

Here are some issues in open-source software that were discovered using tools that I developed:

Performance Bugs

Memory-Safety Bugs

Correctness Bugs