In addition to this curriculum vitae, I also provide a simplified résumé.

Education


Johns Hopkins University August 2015
Ph.D., Computer Science
Dissertation:

Confidence in Confinement: An Axiom-free, Mechanized Verification of Confinement in Capability-based Systems [PDF] [LaTeX] [Source]

Advisor: Dr. Jonathan S. Shapiro
 

Gustavus Adolphus College May 2002

B.A., Computer Science


Technical Expertise

Professional: Java, JDB, Perl, Python, SQL, C, C++, GDB, GNU Make, Bash, LotusScript, Lotus @Commands, HTML, CSS, JavaScript, Linux kernel tracing, Linux VFS, Linux kernel modules, ACL2, Isabelle/HOL, TWELF, Coq, OCaml, SML, LaTeX, Git, Mercurial, SVN, CVS, QEMU.

Personal: Haskell, Agda, Jekyll, Liquid, Sass, Arduino, Raspberry Pi, OpenSCAD.

Experience


Johns Hopkins University 2003-2015

Graduate Researcher, Systems Research Laboratory

Core Technologies: Coq, ACL2, TWELF, Isabelle/HOL, OCaml, SML, Perl, GNU Make, Latex, Mercurial, GIT.


  • Conclusively demonstrated that capability-based systems can enforce confinement by leveraging mechanical verification using the Coq proof assistant.
  • Increased confidence in the model and widened its future applicability by providing permission propagation theorems independent of any specific policy that are subsequently applied to the confinement problem.
  • Hardened the model by providing a general implementation that can be refined to describe any capability system and completes the model for an axiom-free proof.
  • Critically assessed multiple first-order and higher-order proof systems including ACL2, TWELF, Isabelle/HOL, and Coq.
  • Ensured the Coyotos and BitC projects would be fit for future verification by providing continual feedback through their development.
 

Johns Hopkins University 2009

Teaching Assistant to Dr. Jonathan S. Shapiro, Microkernels

Core Technologies: C, C++, GNU Make, QEMU, GDB, GIT, Mercurial.


  • Provided a constructive environment by assisting students with development and debugging in the Coyotos microkernel.
  • Responded to student needs by offering lengthy mentoring sessions every night.
 

Johns Hopkins University 2006-2009

Instructor, Operating Systems

Core Technologies: C, GNU Make, QEMU, GDB, GIT, Mercurial, Linux kernel modules, Linux VFS.


  • Responsible for all aspects of course execution.
  • Provided an extremely practical, hands-on, and critical examination of operating system design reflecting both academic and practical perspectives.
  • Improved the scope of the course by designing and presenting novel materials on 64-bit memory architectures, Linux kernel module development and in-kernel debugging, and capability-based systems.
  • Prepared students professionally with advanced course material including the slab allocator, file-system implementations and Linux VFS, microkernels, and virtualization techniques.
 

Johns Hopkins University 2007

Lecturer, “TWELF Lecture series,” Systems Research Laboratory

Core Technologies: TWELF.


  • Introduced the Systems Research Laboratory to verification techniques in TWELF by designing and presenting a half-semester lecture series.
  • Communicated topics in advanced type theory and totality analysis and their relationship to mathematical proofs.
 

Johns Hopkins University 2003-2006

Research Assistant, Systems Research Laboratory

Core Technologies: C, GNU Make, GDB, GIT, Mercurial, Linux kernel tracing, Linux VFS.


  • Was a key participant in the coevolution of BitC and Coyotos.
  • Reconciled the Intel paging mechanism with Coyotos’ general-purpose guarded page tables.
  • Motivated guarded page tables by simulating process behavior taken from traces in Linux and demonstrating that guarded page tables would not add substantial overhead.
  • Guided early BitC language development through issues regarding formalization and verification.
 

Oracular Systems and Software 2002-2003

Software Consultant and System Administrator

Core Technologies: Java, HTML, JavaScript, CSS, LotusScript, Lotus @Commands, SQL, SVN.


  • Improved corporate utility to clients by producing rapid prototypes of software services.
  • Adapted to client software configurations when realizing prototypes into high-quality deliverables.
  • Increased system uptime for clients and the company by diagnosing server and service issues.
 

Virtual Information Systems 2000-2001

Developer Internship

Core Technologies: LotusScript, Lotus @Commands, HTML, JavaScript, CSS, CVS.


  • Improved metrics in reported billable hours by updating the internal billing service.
  • Increased client efficiency by developing digital-workflow applications for existing business practices.
 

Gustavus Adolphus College 2000-2002

Electronic Reserves Developer

Core Technologies: Perl, SQL, GNU Make, HTML, JavaScript.


  • Worked within a self-directed and self-managed team to design and deploy the Gustavus Library Electronic Reserves system.
  • Took personal responsibility for the system backend and data processing.

Publications

M. S. Doerrie, Confidence in Confinement: An Axiom-free, Mechanized Verification of Confinement in Capability-based Systems , Ph. D. Dissertation, Johns Hopkins University, July 2015. [LaTeX] [Source]

J. S. Shapiro, S. Sridhar, S. Doerrie, M. Miller, E. Northup. BitC Language Specification, June 2006.

J. S. Shapiro, M. S. Doerrie, E. Northup, S. Sridhar, and M. Miller, Towards a Verified, General-Purpose Operating System Kernel, Proc. 2004 NICTA Operating Systems Verification Workshop, 2004.

Honors and Awards

1998 - 2001 Gustavus Dean’s List

1998 - 2001 Trustee Scholarship

1998 - 2001 Norelius Service Award

1998 BSA Eagle Scout