Note: I'm currently looking for interns. If you're interested in working on processor performance modeling and program synthesis, feel free to reach out!
I am a Researcher at AMD Research, working on modeling and improving performance of AMD high performance CPUs. Prior to AMD, I was a Postdoctoral Researcher at MPI-SWS (working with Rupak Majumdar) where I helped build JMC, a model checker for Java programs based on Dynamic Partial Order Reduction techniques.
I completed my PhD (Joint between CMI and IRIF) in 2024, supervised by Constantin Enea and Mandayam Srivas. During my PhD, I was a summer Applied Science Intern at AWS (June-August 2024). I completed my Masters in Computer Science at Chennai Mathematical Institute in 2020. I've worked as a software developer at Zoho and Bookmyshow, and as a DevOps engineer at Unacademy.
(Authors are ordered alphabetically in the surname)
Mohammad Hossein Khoshechin Jorshari, Michalis Kokologiannakis, Rupak Majumdar, Srinidhi Nagendra
Ege Berkay Gulcan, Burcu Kulahcioglu Ozkan, Rupak Majumdar, Srinidhi Nagendra
OOPSLA 2025 arXiv
Andrea Borgarelli, Constantin Enea, Rupak Majumdar, Srinidhi Nagendra
OOPSLA 2024 arXiv
Cezara Dragoi, Constantin Enea, Srinidhi Nagendra, Mandayam Srivas
NETYS 2024 arXiv
Java model checker based on Dynamic Partial Order Reduction techniques. Also includes Randomized testing strategies.
A randomized fuzzer for distributed protocol implementations that uses TLA+ model for coverage.
A DSL to describe unit tests for distributed protocol implementations. The framework allows developers to encode specific executions to test the implementation.
A Go library to fetch coverage information of the current running program. Large parts are borrowed from the go runtime source that dumps the coverage information.
A general framework to run reinforcement learning based exploration on distributed protocol implementations.