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

Linux Kernel — gpio: zynq

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

Linux Kernel — gpio: xilinx

Fixed a reference-count leak in the Xilinx AXI GPIO driver where a failed pm_runtime_get_sync() in the request path was never balanced, leaving the controller unable to runtime-suspend and its clock permanently enabled.

Linux KernelGPIOPower ManagementC
→ View Commit

Linux Kernel — gpio: siox

Fixed the SIOX GPIO driver's get() callback returning raw register bits instead of the strict 0/1 value required by the gpio_chip API contract.

Linux KernelGPIODriver APIC
→ View Commit

Linux Kernel — hwmon: (lm95245)

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 Commit

Linux Kernel — hwmon: (lm70)

Fixed the LM70 driver family (LM70, LM71, LM74, TMP122, TMP125) reporting every negative temperature one step too warm, by replacing truncating division with an arithmetic right shift when discarding the register's non-temperature bits.

Linux KernelhwmonDevice DriversC
→ View Commit

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