About me
Email: ernest@cs.cornell.edu
GitHub: ngernest
Hi! I’m a 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 currently working on two projects:
- (With collaborators from Cornell) A DSL for specifying communication protocols at the register-transfer level (RTL), with the aim of making it easier to test and debug such protocols
- (With collaborators from AWS, Buffalo and Maryland) New abstractions for property-based testing (PBT) generators in Lean, and deploying PBT in industry
During the summers of 2025 & 2026, I interned with the AWS 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 Annette Richards and Amanda Mole, 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, presented at YArch @ ISCA ’26 [Poster] [arXiv] [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)
- MIT FLAME Lab Seminar (Invited), July 2026
- 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? I’d love to hear from you! I was at the following:
| Conferences | Workshops | Summer schools |
|---|---|---|
|
|
|
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)