Ridham Khurana

Systems Programmer · Compiler Engineer

Building production-level compilers and exploring post-quantum cryptography. Focused on systems programming, low-level optimization, and performance-critical software development.

About

Who I Am

Building production-level compilers and exploring post-quantum cryptography. Focused on systems programming, low-level optimization, and performance-critical software development.

Education

Integrated M.Tech (CSE), 2027

University of Hyderabad

7th Semester

Expected: 2027

Experience

Linux Kernel Mentee

The Linux Foundation

June 2026 - Present • undefined

undefined

  • • Selected for the Linux Kernel Summer 2026 Mentorship Program, contributing upstream fixes to the Linux kernel through the mailing-list review process with subsystem maintainers.
  • • Working on device driver bugs in the GPIO and hardware monitoring (hwmon) subsystems, covering runtime power management, gpiolib API conformance, and hardware register decoding.
  • • Root-causing driver defects through kernel git history and hardware datasheets, and preparing fixes tagged for stable backports to supported kernel releases.
  • • Validating every patch with native arm64 builds, checkpatch and W=1 checks, and QEMU-emulated hardware testing before submission.
Linux KernelCDevice DriversGPIOhwmonGit

Summer Research Intern

Indian Statistical Institute (ISI), Kolkata

May 2025 – July 2025 • Kolkata, India

Kyber & Dilithium Modifications (Post-Quantum Cryptography)

  • • Implemented and analyzed cryptographic tweaks to the Dilithium digital signature scheme, including hash function substitution, challenge coefficient expansion, and modified rejection sampling.
  • • Evaluated signature variability, performance, and verification success rates, ensuring compliance with NIST post-quantum security standards.
  • • Optimized and benchmarked the modified Dilithium implementation using C (OpenSSL) and GCC 11.3 on Ubuntu, achieving reproducible performance results.
  • • Contributed to a comparative study of Kyber (KEM) and Dilithium (signatures), analyzing efficiency and robustness trade-offs.
COpenSSLCryptographyPost-QuantumNIST StandardsLinux

Projects

RM-x86-64-Forge

An optimizing x86-64 compiler backend that transforms an intermediate representation into efficient x86-64 assembly through instruction selection, control-flow analysis, and graph-coloring register allocation, designed with a modular and extensible architecture.

July 2026

  • • Implemented instruction selection and lowering from IR into efficient two-address x86-64 assembly instructions.
  • • Constructed Control Flow Graphs (CFGs) and implemented liveness analysis with dead code elimination to drive backend optimizations.
  • • Designed a graph-coloring register allocator featuring interference graph construction and efficient register assignment with register spilling.
Register Allocationx86-64 AssemblyOptimization
→ GitHub Repository

RMc7 — Production C Compiler

A production-oriented C compiler in C++17 targeting 90–95% ISO C coverage, built on a modular architecture with advanced type analysis and long-term extensibility.

Dec 2025 – Present

  • • Implemented lexical analysis (~140 token types) and advanced recursive-descent parsing with 15-level operator precedence, validated through 1,100+ test cases with a 100% pass rate.
  • • Engineered a production-oriented C frontend supporting complex declarators, typedef expansion, recursive type resolution, and comprehensive handling of declarations, expressions, statements, functions, structs, unions, and enums.
C++17ISO C FrontendType Systemsx86-64
→ GitHub Repository

RMc4 — Complete C Compiler in C

A fully implemented C compiler built in C, covering all major compilation phases with a complete front-end, optimization layer, and x86-64 backend.

Oct 2025 – Nov 2025

  • • Implemented full compiler pipeline including tokenization, parsing, semantic analysis, TAC, optimization passes, and x86-64 code generation.
  • • Designed recursive-descent parser and AST system with correct operator precedence, type checking, and structured error handling.
CCompiler DesignASTCFGx86-64
→ GitHub Repository

RM-JobIn — Job Recruitment Platform

A MERN-based recruitment system with role-based access control and personalized dashboards for job seekers and recruiters.

March 2025 – April 2025

  • • Implemented secure JWT-based authentication with separate access flows for users and recruiters.
  • • Developed complete job posting, application tracking, and dashboard workflows across both roles.
ReactNode.jsExpressMongoDB
→ GitHub Repository

RM-Chatify — Real-Time Chat Application

A web-based real-time chat application using Socket.IO for instant messaging and live user connection tracking.

March 2025

  • • Implemented WebSocket-driven real-time messaging with presence tracking.
  • • Added persistent chat storage and user-centric conversation management.
Node.jsExpressSocket.IOMongoDB
→ GitHub Repository

RM-SH — E-commerce Platform

A full-stack e-commerce application built with Node.js, Express, MongoDB, and EJS.

Mid Feb 2024 – Early Mar 2024

  • • Implemented user authentication and account management.
  • • Built cart, wishlist, and product management workflows.
Node.jsExpressMongoDBEJS
→ GitHub Repository

Open-Source Contributions

GCC — GNU Compiler Collection

Developed a -fanalyzer patch to model getenv, enabling symbolic NULL/non-NULL path bifurcation and improving diagnostics for unsafe environment-variable usage.

GCCStatic AnalysisCompilersC++
→ View Commit

gpio: zynq — Fix runtime PM leak on request error path

Fixed a reference-count leak in the Zynq GPIO driver where a failed pm_runtime_get_sync() on the request error path left the usage counter incremented, preventing the controller from runtime-suspending.

Linux KernelGPIOPower ManagementC
→ View Commit

gpio: siox — Normalize return value of gpio_get()

Fixed the SIOX GPIO driver returning raw register bits instead of the strict 0/1 value expected by the gpiolib API, causing incorrect GPIO line-state reads.

Linux KernelGPIODriver APIC
→ View Commit

hwmon: (lm95245) — Fix negative temperature conversion

Fixed a 15-year-old bug in the LM95245 temperature sensor driver where negative readings and offsets lost their fractional part, by decoding the register pair as a 16-bit two's complement value.

Linux KernelhwmonDevice DriversC
→ View Patch

Skills

Systems Programming & Compiler

CC++ (C++17)Lexical AnalysisParsingASTsIR DesignCFGsData-Flow Analysisx86-64 AssemblyOptimization

Programming Languages

C/C++PythonJavaJavaScript

Databases & Cloud

MongoDBSQLAWS

Core CS

Data StructuresAlgorithmsOperating SystemsComputer NetworksCryptography

Get In Touch

I'm always open to new opportunities and collaborations.

Email: khurana.ridham222@gmail.com