Ming Kawaguchi

PhD Student
University of California, San Diego
Department of Computer Science and Engineering

E-mail:

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.

Publications:

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

Ming Kawaguchi, Patrick M. Rondon, Alexander Bakst, and Ranjit Jhala. Deterministic Parallelism with Liquid Effects. PLDI 2012. Beijing, China, June 2012. (pdf) (slides: keynote, pdf)

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.)

Teaching:

CSE 105 Computability WI12
CSE 130 Programming Languages FA11
CSE 221 Graduate Operating Systems FA07, WI08
CSE 140/L Logic Design SU04, FA04
CSE 131A Compilers I WI05
CSE 100 Advanced Data Structures SP05
CSE 101 Introduction to Algorithms SP05

Fun stuff at UCSD:

CSE 125 2005

COSMOS 2007

Fun stuff:

ask me anything about japanese sports cars of the 80s and 90s.
i enjoy running and cycling in the beautiful san diego weather to an unhealthy degree -- due to that degree, i now have a knee injury and enjoy swimming just a little bit less.
my neglected photostream
i help run the english-language resource for mechanical keyboards: geekhack.
san diego humane society and SPCA.