About Me
I joined Yale University as a Lecturer in July 2021 after receiving Ph.D. at Rutgers University. I teach a wide array of courses from introductory to graduate level courses: Introduction to Computing and Programming (CPSC 100), Introduction to Systems Programming and Computer Organization (CPSC 323), Compilers and Interpreters (CPSC 421/521), and Full Stack Web Programming (CPSC 419/519). I am teaching CPSC 100 and CPSC 419/519 this semester.
Research Interest
On the research side, I am a programming languages and systems researcher. My primary research interest is in developing fundamental principles to build a more robust software systems. I am especially interested in widely used systems that people use assuming its correctness or even when it is known to produce some error (e.g. numerical systems like math.h). I like to ensure that these systems are indeed correct or find a way to build a system with no error.
My research, conducted with my advisor Santosh Nagarakatte and several collaborators, have been recognized with two distinguished paper awards (PLDI 2021, POPL 2022), and 2022 ACM SIGPLAN John C. Reynolds Doctoral Dissertation award . Correctly rounded elementary functions developed through our RLibm project is now implemented in LLVM's libc.
Awards
 2022 ACM SIGPLAN John C. Reynolds Doctoral Dissertation Award: Novel Polynomial Approximation Methods for Generating Correctly Rounded Elementary Functions. PDF
 Distinguished Paper Award at POPL 2022: One Polynomial Approximation to Produce Correctly Rounded Results of an Elementary Function for Multiple Representations and Rounding Modes. PDF DOI
 Distinguished Paper Award at PLDI 2021: High Performance Correctly Rounded Math Libraries for 32bit Floating Point Representations. PDF DOI
 Rutgers University Rizvi Family Graduate Fellowship
 Student Research Competition Gold Medal at PLDI 2018: Automatic Verification of Assembly Implementation of Cryptographic Algorithms
Publications

Progressive Polynomial Approximations for Fast Correctly Rounded Math Libraries.
Mridul Aanjaneya, Jay P. Lim, and Santosh Nagarakatte.Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI), 2022.

Distinguished paper awardOne Polynomial Approximation to Produce Correctly Rounded Results of an Elementary Function for Multiple Representations and Rounding Modes.Jay P. Lim and Santosh Nagarakatte.9th ACM SIGPLAN Symposium on Principles of Pro gramming Languages (POPL), 2022.

Distinguished paper awardHigh Performance Correctly Rounded Math Libraries for 32bit Floating Point Representations.Jay P. Lim and Santosh Nagarakatte.Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI), 2021.

An Approach to Generate Correctly Rounded Math Libraries for New Floating Point Variants.
Jay P. Lim, Mridul Aanjaneya, John Gustafson, and Santosh Nagarakatte. 2021.48th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2021).

Approximating trigonometric functions for posits using the CORDIC method.
Jay P. Lim, Matan Shachnai, and Santosh Nagarakatte. 2020.In Proceedings of the 17th ACM International Conference on Computing Frontiers (CF 2020).

Debugging and Detecting Numerical Errors in Computation with Posits.
Sangeeta Chowdhary, Jay P Lim, and Santosh Nagarakatte. 2020.In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020).

Automatic Equivalence Checking for Assembly Implementations for Cryptography Libraries.
Jay P Lim and Santosh Nagarakatte. 2019.Proceedings of the International Symposium on Code Generation (CGO 2019).

Compiler Optimizations with Retrofitting Transformation: Is there a Semantic Mismatch?
Jay P Lim, Santosh Nagarakatte, and Vinod Ganapathy. 2017.ACM SIGSAC Workshop and Programming Languages and Analysis for Security (PLAS 2017).
PhD Dissertation

ACM Sigplan John C. Reynolds Docotral Dissertation AwardNovel Polynomial Approximation Methods for Generating Correctly Rounded Elementary Functions.PhD Dissertation, Rutgers, the State University of New Jersey, August 2021
Technical Reports

RLibmProg: Progressive Polynomial Approximations for Fast Correctly Rounded Math Libraries.
Mridul Aanjaneya, Jay P Lim, and Santosh Nagarakatte.Department of Computer Science, Rutgers University, Technical Report DCSTR758, Nov. 2021

RLIBMALL: A Novel Polynomial Approximation Method to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes.
Jay P. Lim and Santosh Nagarakatte.Department of Computer Science, Rutgers University, Technical Report DCSTR757, August 2021

RLIBM32: High Performance Correctly Rounded Math Libraries for 32bit Floating Point Representations.
Jay P. Lim and Santosh Nagarakatte.Department of Computer Science, Rutgers University, Technical Report DCSTR754, April 2021

A Novel Approach to Generate Correctly Rounded Math Libraries for New Floating Point Representations.
Jay P. Lim, Mridul Aanjaneya, John Gustafson, and San tosh Nagarakatte.Department of Computer Science, Rutgers University, Technical Report DCSTR753, July 2020
Professional Activities
 University and Departmental Activities
 Fall 2021  current: Yale University CS Academic Honesty Committee
 Summer 2022: Camp Yale  Build Program Advisor
 Program Committee Member
 2022: OOPSLA'23, SIGCSE TS'23
 2021: OOPSLA'22
Teaching Experience
 Fall 2022: CPSC 419 & CPSC 519  Full Stack Web Programming
 Fall 2022: CPSC 100  Introduction to Computing and Programming
 Spring 2022: CPSC 421 & CPSC 521  Compileres and Interpreters
 Spring 2022: CPSC 323  Introduction to Systems Programming and Computer Organization
 Fall 2021: CPSC 323  Introduction to Systems Programming and Computer Organization
 Fall 2021: CPSC 100  Introduction to Computing and Programming
 Fall 2020: CS211  Computer Architecture (Teaching Assistant)
 Spring 2020: CS544  Computer Security (Teaching Assistant)
 Summer 2019: CS211  Computer Architecture
 Spring 2019: CS544  Computer Security
 Fall 2018: CS211  Computer Architecture (Teaching Assistant)
 Spring 2018: CS516  Programming Languages And Compilers II (Teaching Assistant)
 Summer 2015: CS206  Introduction to Discrete Structures II (Teaching Assistant)
 Spring 2015: CS314  Principles of Programming Languages (Teaching Assistant)
 Fall 2014: CS314  Principles of Programming Languages (Teaching Assistant)