University of California, San Diego
Department of Computer Science and Engineering
I am a PhD student in the Programming Systems group at UCSD. From 2005-2008 I was an MS student in the department's one year BS/MS Master's degree program (hmm..). This was preceded by a brief stint as an undergrad which led, quite inexplicably, to a bachelor's in Computer Science in Spring 2005.
Currently, I am extremely privileged to be advised by Prof. Ranjit Jhala. In my previous academic lives, I have also had the extreme privilege of being advised by Prof. Geoffrey Voelker (MS), as well as Prof. Alex Orailoglu (BS).
I strongly believe that programming is an unnecessarily painful process. First, it is painful (and I think we can all agree on this one) because it is so easy for things to go so wrong so quickly. Second, this pain is unnecessary, because if we think critically and insightfully about the sources of this pain, we can eliminate or significantly mitigate it. To this end, the goal of my research is to construct highly automated static analyses that can provide quick feedback to real programmers about exactly what invariants are maintained in the real code that they write.
Shuvendu Lahiri, Chris Hawblitzel, Ming Kawaguchi, and Henrique Rebelo. SymDiff: A language-agnostic semantic diff tool for imperative programs. CAV 2012 (Tool Paper), Springer, July 2012
Patrick Rondon, Alexander Bakst, Ming Kawaguchi, and Ranjit Jhala. CSolve: Verifying C with Liquid Types. CAV 2012 (Tool Paper), Springer, July 2012
Chris Hawblitzel, Ming Kawaguchi, Shuvendu Lahiri, and Henrique Rebelo. Mutual Summaries and Relative Termination. MSR-TR-2011-112, October 2011. (pdf)
Ming Kawaguchi, Shuvendu K. Lahiri, and Henrique Rebelo. Conditional Equivalence. MSR-TR-2010-119, October 2010. (pdf)
(More information on the Symdiff project can be found here).
Ming Kawaguchi, Patrick M. Rondon, and Ranjit Jhala. Dsolve: Verification via Liquid Type Inference. In Proceedings of the 22nd International Conference on Computer Aided Verification (CAV), Edinburgh, UK, July 2010.
Patrick M. Rondon, Ming Kawaguchi, and Ranjit Jhala. Low-Level Liquid Types. In Proceedings of the 37th ACM Symposium on Principles of Programming Languages (POPL), Madrid, Spain, January 2010.
Ming Kawaguchi, Patrick M. Rondon, and Ranjit Jhala. Type-Based Data Structure Verification. In Proceedings of the 31st ACM Conference on Programming Language Design and Implementation (PLDI), Dublin, Ireland, June 2009.
Patrick Rondon, Ming Kawaguchi, and Ranjit Jhala. Liquid Types. In Proceedings of the 30th ACM Conference on Programming Language Design and Implementation (PLDI), Tucson, AZ, June 2008.
(More information on the Liquid Types project can be found here.)
CSE 105 Computability WI12
Fun stuff at UCSD:
ask me anything about japanese sports cars of the 80s and 90s.