Doctor of Philosophy (PhD) in Computer Science
University of California, Berkeley
Electrical Engineering and Computer Science Department
Computer Science Division
8/2003 -
9/2007
Thesis: Implementing Certified Programming Language Tools in Dependent Type Theory
Advisor: George Necula
Cumulative GPA: 4.0 out of 4.0
Master of Science (MS) in Computer Science
University of California, Berkeley
Electrical Engineering and Computer Science Department
Computer Science Division
12/2004
Thesis: An Untrusted Verifier for Typed Assembly Language
Advisor: George Necula
Bachelor of Science (BS) in Computer Science with a minor in Mathematical Sciences and University Honors
Carnegie Mellon University, Pittsburgh, PA
8/2000 -
5/2003
Cumulative GPA: 4.0 out of 4.0
High school diploma
Emmaus High School, Emmaus, PA
9/1996 -
6/2000
Adam Chlipala. A Certified Type-Preserving Compiler from Lambda Calculus to Assembly Language. Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI'07). June 2007.
Adam Chlipala. Modular Development of Certified Program Verifiers with a Proof Assistant. Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming (ICFP'06). September 2006.
Bor-Yuh Evan Chang, Adam Chlipala, George C. Necula. A Framework for Certified Program Analysis and Its Applications to Mobile-Code Safety. Proceedings of the 7th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI'06). January 2006.
Dirk Beyer, Adam Chlipala, Thomas Henzinger, Ranjit Jhala, Rupak Majumdar. Generating Tests from Counterexamples. Proceedings of the 26th International Conference on Software Engineering (ICSE'04), IEEE Computer Society Press. May 2004.
Adam Chlipala. Modular Development of Certified Program Verifiers with a Proof Assistant. Journal of Functional Programming (JFP). Cambridge University Press. Accepted pending revision.
Adam Chlipala. Position Paper: Thoughts on Programming with Proof Assistants. Proceedings of the Programming Languages meets Program Verification Workshop (PLPV'06). August 2006.
Adam Chlipala, George C. Necula. Cooperative Integration of an Interactive Proof Assistant and an Automated Prover. Proceedings of the 6th International Workshop on Strategies in Automated Deduction (STRATEGIES'06). August 2006.
Bor-Yuh Evan Chang, Adam Chlipala, George C. Necula, Robert R. Schneck. The Open Verifier Framework for Foundational Verifiers. Proceedings of the 2nd ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'05). January 2005.
Bor-Yuh Evan Chang, Adam Chlipala, George C. Necula, Robert R. Schneck. Type-Based Verification of Assembly Language for Compiler Debugging. Proceedings of the 2nd ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'05). January 2005.
Adam Chlipala, Leaf Petersen, Robert Harper. Strict Bidirectional Type Checking. Proceedings of the 2nd ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'05). January 2005.
Adam Chlipala. Developing Certified Program Verifiers with a Proof Assistant. Proceedings of the International Workshop on Proof-Carrying Code (PCC'06). August 2006.
Dirk Beyer, Adam Chlipala, Thomas Henzinger, Ranjit Jhala, Rupak Majumdar. The Blast Query Language for Software Verification. Proceedings of the 11th Static Analysis Symposium (SAS'04), Lecture Notes in Computer Science 3148, Springer-Verlag. August 2004.
Adam Chlipala. Generic Programming and Proving for Programming Language Metatheory. Technical Report UCB/EECS-2007-147. 2007.
Adam Chlipala. Implementing Certified Programming Language Tools in Dependent Type Theory. Technical Report UCB/EECS-2007-113. 2007.
Adam Chlipala. Scrap Your Web Application Boilerplate, or Metaprogramming with Row Types. Technical Report UCB/EECS-2006-120. 2006.
Bor-Yuh Evan Chang, Adam Chlipala, George C. Necula. A Framework for Certified Program Analysis and Its Applications to Mobile-Code Safety. Technical Report UCB/ERL M05/32. UC Berkeley EECS Department. 2005.
Adam Chlipala. An Untrusted Verifier for Typed Assembly Language. MS Project Report. Technical Report UCB/ERL M04/41. UC Berkeley EECS Department. 2004.
Generic Programming and Proving for Programming Language Metatheory. WMM'07. October 2007.
A Certified Type-Preserving Compiler from Lambda Calculus to Assembly Language. PLDI'07. June 2007.
A Certified Type-Preserving Compiler from Lambda Calculus to Assembly Language. Open Source Quality Project Retreat. May 2007.
A Certified Type-Preserving Compiler from Lambda Calculus to Assembly Language. Projet Gallium seminar. January 2007.
Modular Development of Certified Program Verifiers with a Proof Assistant. ICFP'06. September 2006.
Position Paper: Thoughts on Programming with Proof Assistants. PLPV'06. August 2006.
Cooperative Integration of an Interactive Proof Assistant and an Automated Prover. STRATEGIES'06. August 2006.
Developing Sound Program Analysis Tools by Programming with Proofs. Open Source Quality Project Retreat. May 2006.
A Framework for Certified Program Analysis and Its Applications to Mobile-Code Safety. VMCAI'06. January 2006.
Proof-Carrying Verifiers. Open Source Quality Project Retreat. May 2005.
The Open Verifier Framework for Foundational Verifiers. TLDI'05. January 2005.
Quantitative Researcher
Jane Street Capital
9/2007 -
present
Graduate Student Researcher
The Open Verifier project
Computer Science Division
University of California, Berkeley
9/2003 -
8/2007
PI: George Necula
Instructor
CS294-9: Interactive Computer Theorem Proving
Computer Science Division
University of California, Berkeley
8/2006 -
12/2006
Research Intern
The Singularity project
Software Productivity Tools group, Redmond, WA
Microsoft Research
6/2005 -
8/2005
Mentor: Manuel Fahndrich
Graduate Student Instructor
CS172: Computability and Complexity
Computer Science Division
University of California, Berkeley
1/2005 -
5/2005
Instructor: Brian Lucena
Graduate Student Researcher
The BLAST project
Computer Science Division
University of California, Berkeley
6/2003 -
8/2003
PI: Thomas Henzinger
Research Assistant
The TILT type-directed Standard ML compiler project
Computer Science Department
Carnegie Mellon University, Pittsburgh, PA
6/2002 -
5/2003
PIs: Robert Harper,
Karl Crary
Teaching Assistant
15-212: Principles of Programming (introduction to formal reasoning about programs and functional programming with Standard ML)
Computer Science Department
Carnegie Mellon University, Pittsburgh, PA
1/2002 -
5/2002
Instructors: Michael Erdmann,
Jeannette Wing
Intern/Software Developer
Avaya Communication, Holmdel, NJ
6/2001 -
8/2001
Software Developer
Trifecta Technologies, Allentown, PA
Summers, 1998 - 2000
ICFP'04, LPAR'05, LICS'06, APLAS'06, TLDI'07, RTA'07, POPL'08, VMCAI'08