ADAM CHLIPALA. Research interests. Education. Refereed conference papers

Similar documents
Leaf Petersen Curriculum Vitae

The Fox Project: Advanced Development of Systems Software

Xinyu Feng. January Ph.D. in Computer Science, Yale University, expected Advisor: Professor Zhong Shao.

Stavros Nikolaou. 413 Gates Hall URL: Ithaca, NY, 14853, USA Date of Birth: December, 1987

Grad PL vs. The World

Language Techniques for Provably Safe Mobile Code

Static checking of domain constraints in applications interacting with relational database by means of dependently-typed lambda calculus

J I N G H A I R A O. Institute for Software Research School of Computer Science Carnegie Mellon University 5000 Forbes Ave Pittsburgh, PA 15213

John Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA (805)

Brian F. Cooper. Distributed systems, digital libraries, and database systems

Amy Babay April 2018

An experiment with variable binding, denotational semantics, and logical relations in Coq. Adam Chlipala University of California, Berkeley

Tuncay Tekle Curriculum Vitæ

Amy Babay November Doctor of Philosophy in Computer Science September 2018

Conclusions and further reading

Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description)

The Essence of Compiling with Continuations

An Eclipse Plug-in for Model Checking

Curriculum Vitae Tim Ophelders last updated: September 12, 2018

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE

TEXAS STATE VITA. A. Name: David L. Gibbs Title: Assistant Professor

2. Department of Computer Science, Yale University

Proof Pearl: The Termination Analysis of Terminator

Assistant for Language Theory. SASyLF: An Educational Proof. Corporation. Microsoft. Key Shin. Workshop on Mechanizing Metatheory

ELLIOT ANSHELEVICH. Department of Computer Science Cornell University Upson Hall 5139 Ithaca, NY 14853

Ionuţ Buricea. Trying to extend this work to timed protocols, I studied the verification of timed systems

Master & Doctor of Philosophy Programs in Computer Science

Michael Paul Neff Curriculum Vitae

DEFINING A LANGUAGE. Robert Harper. Friday, April 27, 12

Iranian Scholarship Foundation Graduate Scholarship Application Form

System Description: Twelf A Meta-Logical Framework for Deductive Systems

Mathematical Structures in Programming Introduction

Nomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional

Dr. Spencer Sevilla Postdoctoral Researcher, University of Washington

DEPARTMENT OF COMPUTER SCIENCE

Columbia University (office) Computer Science Department (mobile) Amsterdam Avenue

Thesis: An Extensible, Self-Tuning, Overlay-Based Infrastructure for Large-Scale Stream Processing and Dissemination Advisor: Ugur Cetintemel

Types. Benjamin C. Pierce University of Pennsylvania. Programming Languages Mentoring Workshop, Jan. 2012

AYAN MONDAL ayan.mondal/

Imani Palmer ipalmer2.web.engr.illinois.edu

Adam Chlipala University of California, Berkeley ICFP 2006

The design of a programming language for provably correct programs: success and failure

MASTER OF ENGINEERING PROGRAM IN INFORMATION

Girija J. Narlikar Forbes Avenue girija

West Bengal University of Technology Bachelor of Computer Science and Engineering

Ph.D. with Distinction in Computer Science Advisor: Prof. Micha Sharir Dissertation: Geometric Arrangements: Substructures and Algorithms

A Certified Reduction Strategy for Homological Image Processing

Topic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.

Programming Languages

Proof-Carrying Code with Untrusted Proof Rules

Please consult the Department of Engineering about the Computer Engineering Emphasis.

An Introduction to Type Inference

Undergraduate Research Internship in Science & Engineering URISE at Berkeley Summer Application Form. Name: Address: Street City State Zip

Programming language design and analysis

Kenneth A. Lambert. Department of Computer Science Washington and Lee University Parmly Hall 406 Lexington, VA Phone: (540)

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA

Regression Verification - a practical way to verify programs

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106

Extensible Untrusted Code Verification. Robert Richard Schneck. B.S. (Duke University) 1997

Jim Boyd.NET Senior Software Engineer Independent Contractor

Matthew Patrick Sopha Clinical Assistant Professor Department of Information Systems, W. P. Carey School of Business, Arizona State University

Yalin Xiong. Senior Member of Technical Staff, Jet Propulsion Lab, Pasadena, CA. February now.

Extracting the Range of cps from Affine Typing

Deductive Program Verification with Why3, Past and Future

Basima Ahmed Haroun Elshqeirat

Elf: A Meta-Language for Deductive Systems (System Description)

Shin Hong. Assistant Professor Handong Global University (HGU) Pohang, Kyongbuk, South Korea (37554)

Concepts in Programming Languages

Ph.D. in Computer Science (

An LCF-Style Interface between HOL and First-Order Logic

The Information Technology Program (ITS) Contents What is Information Technology?... 2

AC : EMBEDDED SYSTEMS ENGINEERING AREA OF SPECIALIZATION IN THE COMPUTER SCIENCE DEPARTMENT

Computer Science Curriculum for International Students

An ACL2 Tutorial. Matt Kaufmann and J Strother Moore

Konstantinos Krommydas, Ph.D.

Com S 541. Programming Languages I

QWeSST. Type-Safe Web Programming. Thierry Sans and Iliano Cervesato. Carnegie Mellon University Qatar

Semantics of an Intermediate Language for Program Transformation

Vincent St-Amour. Université de Montréal, Montréal, Québec.

What Is Computer Science? The Scientific Study of Computation. Expressing or Describing

TEXAS STATE VITA. A. Name: David L. Gibbs Title: Assistant Professor

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.

HAI ZHOU. Evanston, IL Glenview, IL (847) (o) (847) (h)

Publications related to Chez Scheme

CURRICULUM VITA. Kristin M. Swartz

Extension theorems in vector spaces over finite fields Dr. Alex Iosevich. Journal reviewer for International Mathematics Research Notices.

A Total of 7 years of IT and Marketing Experience [6 years in Pakistan + 1 year in North Cyprus] in education and service industry.

Yihan Sun RESEARCH INTEREST EDUCATION PUBLICATIONS

Rule Formats for Nominal Modal Transition Systems

A Framework for Execution of Secure Mobile Code based on Static Analysis

CAP - Advanced Programming Concepts

CONTINUING PROFESSIONAL DEVELOPMENT FORM (PKB Form) Certification Bureau 2015

Efficient Computation of LALR(1) Look-Ahead Sets

3 Statement of Accuracy/Declaration of Consent

University of Illinois at Chicago Office: SEO 521 Department of Mathematics, Statistics, (312) and Computer Science

Seminar in Programming Languages

NGTC Course Catalog / Student Handbook PROGRAMS OF STUDY COMPUTER INFORMATION SYSTEMS COMPUTER INFORMATION SYSTEMS

30 Eleanor Dr., # 908, Ottawa, ON, Canada, K2E 7E5 +1 (613)

Costas, Alvaro R Page 1 of 3 Social Security Number: XXX-XX-3088 Print Date: August 24, 2017

Transcription:

579 Soda Hall Berkeley, CA 94720-1776 USA adamc@cs.berkeley.edu http://www.cs.berkeley.edu/ adamc/ Research interests ADAM CHLIPALA Dependent type systems; interactive theorem proving; type-based programming methodologies that integrate programming with correctness proofs Program verification; language-based security; proof-carrying code; typed assembly language; model checking; formal methods for low-level software Design and implementation of declarative programming languages; type systems and logics; functional programming Automated deduction; interactive proof assistants Education Electrical Engineering and Computer Science Department Doctor of Philosophy (PhD) in Computer Science 8/2003 9/2007 Advisor: George Necula Cumulative GPA: 4.0 out of 4.0 Thesis: Implementing Certified Programming Language Tools in Dependent Type Theory Electrical Engineering and Computer Science Department Master of Science (MS) in Computer Science 12/2004 Advisor: George Necula Thesis: An Untrusted Verifier for Typed Assembly Language Carnegie Mellon University, Pittsburgh, PA Bachelor of Science (BS) in Computer Science with a minor in Mathematical Sciences and University Honors 8/2000 5/2003 Cumulative GPA: 4.0 out of 4.0 Emmaus High School, Emmaus, PA High school diploma 9/1996 6/2000 Refereed conference papers

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. Refereed journal articles Adam Chlipala. Modular Development of Certified Program Verifiers with a Proof Assistant. Journal of Functional Programming (JFP). Cambridge University Press. Accepted pending revision. Refereed workshop papers 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. Refereed poster sessions Adam Chlipala. Developing Certified Program Verifiers with a Proof Assistant. Proceedings of the International Workshop on Proof-Carrying Code (PCC 06). August 2006. Invited conference papers

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. Technical reports Talks 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. Employment

Quantitative Researcher Jane Street Capital 9/2007 present Graduate Student Researcher The Open Verifier project 9/2003 8/2007 PI: George Necula Instructor CS294-9: Interactive Computer Theorem Proving 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 1/2005 5/2005 Instructor: Brian Lucena Graduate Student Researcher The BLAST project 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 Academic honors National Defense Science and Engineering Graduate Fellowship winner, 2004 National Science Foundation Graduate Research Fellowship winner, 2004 California Microelectronics Fellowship winner, UC Berkeley EECS Department, 8/2003 5/2004 Inducted into Phi Kappa Phi Inducted into Phi Beta Kappa Honorable Mention, National Science Foundation Graduate Research Fellowship competition, 2003 Andrew Carnegie Scholarship winner, Carnegie Mellon University, Pittsburgh, PA, 8/2000 5/2003 Software technologies I have expert-level experience with and have hacked on implementations of: ML, Coq, C I ve written significant amounts of code in: F#, Java, SQL, x86 and Z80 assembly languages I m conversant in: Haskell, C++, XSLT I have some familiarity with: Twelf, Scheme, Common Lisp, Prolog, C#, Visual Basic, UNIX shell scripting, Perl I ve done system administration of these daemons on UNIX systems with at least 100 users: Apache, djbdns, Courier IMAP, Exim, Mailman, SpamAssassin Citizenship American citizen Summer schools Summer School on Software Security: Theory to Practice, University of Oregon, 6/2004 External reviews: ICFP 04, LPAR 05, LICS 06, APLAS 06, TLDI 07, RTA 07, POPL 08, VMCAI 08 Software Cooperative Internet hosting tools (http://hcoop.sourceforge.net/), including DomTool (http://wiki.hcoop.net/domtool), a domain-specific language in support of shared UNIX system configuration by mutually-untrusting users

Laconic/Web (http://laconic.sourceforge.net/), a prototype domain-specific programming language design and implementation supporting meta-programming of web applications with strong static guarantees Dynamic web site tools for Standard ML (http://smlweb.sourceforge.net/), including separately usable libraries for accessing SQL databases Other activities Founder and President of HCoop, Inc. (http://hcoop.net/), a democratically-run Internet hosting cooperative Black belt in Karate (no longer training)