Research & Academic Projects

Dead-Field & Redundant Load Elimination Optimizer

Mentor: Prof. Manas Thakur | Course: Code Optimization for Object-Oriented Languages (CS6004) | Session: Spring 2026
Related to MS in Computer Science, CSE, IIT Bombay

Java Soot Framework Bytecode Transformation Static Program Analysis
  • Designed and implemented static analysis passes in the Soot framework to analyze object-oriented Java Bytecode.
  • Developed a Dead-Field Elimination pass that identifies unused or dead class attributes and removes their declarations/assignments.
  • Implemented a Redundant Load Elimination optimization to eliminate duplicate memory reads of fields, replacing them with local variable uses.
  • Built a suite of 10 evaluation testcases to evaluate correctness and runtime optimizations.
  • Measured runtime enhancements under interpretative execution (`-Xint` flag), recording significant percentage improvements in wall-clock execution time and call-site metrics.

Loop Iteration Count Predictor in ChampSim

Mentor: Prof. Biswabandan Panda | Research Group: CASPER Group (TRUST LAB) | Session: Spring 2026
Related to MS in Computer Science, CSE, IIT Bombay

C++ ChampSim Simulator Loop Predictor CPU Traces Computer Architecture
  • Designed and integrated a dynamic loop iteration count predictor into the ChampSim simulator.
  • Implemented tracing structures to identify loop boundaries and count dynamic iterations directly from compiled CPU instruction traces (e.g., SPEC, GAP, and Google workloads) without access to source code.
  • Analyzed backward branch behavior and PC history to track unique loops, profile dynamic iteration counts, and calculate detailed execution statistics.
  • Provided architectural insights by outputting loop frequency and termination boundaries, enabling potential optimizations in branch predictors and prefetchers.

Implementation and Calculation of Cache Pollution

Mentor: Prof. Biswabandan Panda | Course: Advanced Computer Architecture | Session: Autumn 2025
Related to MS in Computer Science, CSE, IIT Bombay

C++ ChampSim Simulator Cache Hierarchy Systems Research
  • Designed and implemented custom instrumentation in the ChampSim simulator to quantify cache pollution at L1, L2, and Last-Level Cache (LLC).
  • Added an auxiliary tracking queue to temporarily store evicted cache lines, monitoring their potential future reuse patterns to track cache effectiveness.
  • Analyzed simulation benchmarks to determine the percentage of cache slots consumed by polluting lines.

Key–Value Store with Multi-Threaded Load Generator

Course: Computer Systems & DBMS | Session: Autumn 2025

C++ MySQL Database REST API Multi-Threading LRU Cache
  • Designed and implemented a Key–Value Store in C++ supporting REST-based GET, POST, and DELETE operations.
  • Integrated an in-memory Least Recently Used (LRU) cache to optimize read performance and significantly reduce database access latency.
  • Connected the system to a MySQL database backend for persistent storage, structural schemas, and transactional durability.
  • Developed a multi-threaded load generator to simulate concurrent real-world workloads, including GET-heavy, write-heavy, mixed, and hot-key access patterns.
  • Measured, parsed, and analyzed system performance metrics such as throughput (requests/sec) and average response time under varying thread counts and cache configurations.