
- Cornell University
- Computer and Information Sciences
- mail [at] janpaul [dot] pl
About
Iβm an incoming CS PhD student! At one time, I did my undergraduate at Cornell University, where I studied Computer Science, Mathematics, and earned a degree in Philosophy with a concentration in Philosophy of Mathematics and Logic supervised by Dr. Harold T. Hodes.
I view my philosophical preparation in formal epistemology and logics as an essential framework to aid navigate my main technical interests: program synthesis and repair, programming languages theory, and formal methods for software engineering.
Personally, Iβm an avid cinephile and audiophile, for which you can find a rabbit-hole of information at the top right of this page. I also enjoy digital photography, and am amateurly practicing birding after getting inspired by Cornellβs Ornithology Lab. Some day, I want to learn to shoot/develop film, get a US Amateur Radio License, and successfully pick an Abloy Protec2.
Research
Most formal verification toolchains feel uninspiring to me because they make it challenging to prioritize static guarantees given their technical complexity, especially given that lightweight methods provide reasonable results in their stead (at the cost of runtime overhead). My current research involves developing practical frameworks for specification-driven program verification to ease the need/complexity of directly mechanizing code. I want to assure all well-typed and well-constructed programs imply well-behaved programs.
Previously, during my undergrad, I worked onβbroadlyβthree projects:
-
RocqNet : Advised by Dr. Alwyn Goodloe at NASAβs Langley Formal Methods, we mechanized proofs with Coq that model correct behaviors behind a well-behaved implementation of a Software Defined Delay-Tolerant Networkβs Match-Action pipeline algorithm for NASAβs Interplanetary Overlay Network framework. The well-behavedness of the algorithm comes from it being implemented in our networks DSL.
-
Calyx : Advised by Dr. Adrian Sampson at the Computer Architecture & Programming Abstractions group. Here, I studied how to reason about modelling hardware-level parallelism for Calyx using symbolic execution and KATs.
-
Gradual Verification : Iβm a 2Γ CMU REUSE alumni. I worked under Dr. Jonathan Aldrich in developing a Gradual Verifier, seeking to bridge the gap between static and dynamic verification. I worked on the first ever gradual verification tool β Gradual C0 β and made use of gradual verification for blockchain programming languages.
Community
Iβm a member of the Audio/Visual team for SIGPLAN conferences. While this is just volunteering work, Iβve come to put a considerable amount of time into it, so feel free check out SIGPLANβs official YouTube Channel if youβre interested in some cool PL videos!
Tired of my site? Click here for a random one of my friends.
