About me
Email: ernest@cs.cornell.edu
GitHub: ngernest
Hi! I’m a second-year Computer Science PhD student at Cornell. I work on programming languages & systems research in the Capra lab, advised by Adrian Sampson & Kevin Laeufer. I’m broadly interested in operating systems, functional programming, proof assistants and property-based testing.
At Cornell, I’m currently working on a DSL for specifying hardware communication protocols, with the aim of making it easier to test and debug such protocols. At AWS (Summers 2025/2026), I’m working on property-based testing (PBT) infrastructure for Lean, as a research intern with the Automated Reasoning Group.
I did my undergrad at Penn, where I worked on PBT research, advised by Harry Goldstein & Benjamin Pierce in the PLClub (Penn’s PL group). Before grad school, I worked in industry for a year as a data engineer.
Outside of CS, I enjoy playing the pipe organ. I study organ performance with Amanda Mole & Annette Richards, and work as an organist for Cornell’s Episcopal Church.
Here’s my resume and a list of projects I’ve done.
Research
-
Specifying Hardware Communication as Programs
Ernest Ng, Nikil Shyamsunder, Francis Pham, Adrian Sampson, Kevin Laeufer
Ongoing work [Code]
(An initial version of this work was presented by Nikil at the FMCAD ’25 Student Forum) -
Mica: Automated Differential Testing for OCaml Modules
Ernest Ng, Harrison Goldstein, Benjamin Pierce
OCaml Workshop 2024 [Slides] [Talk Video] [Code]
Received 2nd place at the ICFP 2023 SRC (poster)
Talks
-
Specifying Hardware Communication as Programs (slides)
- YArch (Young Architect Workshop) @ ISCA ’26, June 2026
- EPFL Programming Languages & Formal Methods Seminar (Invited), May 2026
- NJPLS (New Jersey Programming Languages & Systems Seminar), May 2026
-
Chamelean: Property-Based Testing for Lean via Metaprogramming (slides) (Work done at AWS)
- Cornell Programming Languages Discussion Group, September 2025
-
Mica: Automated Differential Testing for OCaml Modules (slides)
- Bloomberg OCaml Developers Seminar (Invited), September 2024
- OCaml Workshop @ ICFP ’24, September 2024
- ICFP ’23 Student Research Competition, September 2023
Other
Have we met before at a conference? I’d love to hear from you! I was / will be at:
- YArch @ ISCA ’26 @ Raleigh
- Brown Systems Week ’26 @ Providence
- ASPLOS ’26 @ Pittsburgh
- Upstate PL @ Cornell
- NJPLS @ Cornell Tech (Dec ’24) / Princeton (Nov ’23) / Penn (May ’23 + May ’26)
- ICFP ’24 @ Milan
- POPL ’24 @ London
- ICFP ’23 @ Seattle
- CMMRS ’23 @ Saarbrücken
- OPLSS ’23 @ Eugene
Teaching
I’ve served as a teaching assistant for the following courses:
Cornell:
Penn:
- CIS 3800: Operating Systems (Fall 2023)
- Software Foundations Rocq seminar (for Penn’s REPL summer research program) (Summer 2023)
- CIS 1904/1940: Introduction to Haskell (Spring 2023)
- CIS 2400: Computer Systems (Fall 2022)
- CIS 5450: Big Data Analytics (Spring - Fall 2022, Head TA for the Fall)
- CIS 5500: Databases (Summer 2022)