6.3 KiB
I'm a 4th year Computer Science PhD student at the Ohio State University. Over the duration of my PhD, I have been researching topics in Programming Languages such as data race detection, and transactional persistent memory. Research that I led or assisted resulted in several publications, which are listed below. I also had the opportunity to teach the course Advanced C Programming, and serve on the Artifact Evaluation Committees of several conferences.
Outside the school, I build web and mobile applications for fun. Over the years I have learned and used many programming languages and technologies, including JavaScript, TypeScript, React, React Native, Python, Java, C, C++, Clojure, and Haskell. All my projects are open source, and are available on my Github page.
I am an avid Linux user, having been using it full time for the last 7 years. I manage several small personal servers, and have experience with Bash scripting, writing SystemD services, and building and using Docker containers.
Highlighted Projects
A web application to run surveys where users compare 2 images to pick the one they prefer. Uses a Python backend utilizing asyncio capabilities with the Sanic web server and SQLite. The front end is a React app, written in JavaScript and Material-UI.
Work-in-progress offline-first mobile app for productivity and time management. Uses React Native with TypeScript, and a PouchDB database on the client side. Currently planning to add a backend supported by CouchDB to provide synchronization capabilities.
A transactional persistent memory library, written in C. Provides transactional data storage capabilities to programs by utilizing existing hardware transactional memory support of processors, combined with the new non-volatile memory hardware. Allows programs to store and access data efficiently, and without the need for additional concurrency synchronization. This is the corresponding implementation for one of my publications listed below.
A transactional persistent memory library, written in C. Provides transactional data storage capabilities to programs by utilizing existing hardware transactional memory support of processors, combined with the new non-volatile memory hardware. Allows programs to store and access data efficiently, and without the need for additional concurrency synchronization. This is the corresponding implementation for the publication of the same name listed below.
Data race detection for Java programs using predictive dynamic data race analyses. Predictive race analysis looks at a single execution of a program to detect races that may occur in many other executions. Our analyses use data and control flow dependence to find more data races compared to other analyses. This is the corresponding implementation for my publication "Dependence Aware, Unbounded Sound Predictive Race Detection".
Publications
Talk Paper Extended Paper Implementation [Poster](/extra/Crafty Poster.pdf)
Talk Paper Extended Paper Implementation [Poster](/extra/DepAware Poster.pdf)
Activities
PLDI 2021 Artifact Evaluation Committee member
ASPLOS 2021 Artifact Evaluation Committee member
OOPSLA 2020 Artifact Evaluation Committee member
In my free time, I develop small indie video games and release them open source.