About Me

My name is Kelly Shiptoski. I am a detail-oriented and self-driven software engineer with a comprehensive background in designing, building, and maintaining large systems. I currently work as a Senior Software Engineer at Bolt Labs, where I work on both the backend and low-level trusted execution environment to provide the API for a cryptographically secure digital asset management system. My doctoral research provided me with years of experience with low-level Linux development and multiple programming languages, including, but not limited to, Rust, C, and C++. In 2023, I earned my Ph.D. in Computer Science at the University of Pennsylvania where I was advised by Dr. Joseph Devietti.

Open to Oppurtunities!

I am open to full-time software engineering positions. My CV can be found here. Feel free to contact me at the email on my CV!

Research & Technical Interests

Broadly, my interests include operating systems, distributed systems, systems programming, software testing, and software profiling. I adore the Rust programming language and use it regularly in my research. I have extensive experience with the Linux programming interface and system call API, and can dig through system call man pages fearlessly.

My doctoral research uses low-level systems techniques such as system call interception and manipulation to provide reproducibility and performance optimizations for unmodified Linux programs. My goal is to build easy-to-use systems that improve existing programs by providing safety guarantees or performance improvements without any extra effort on the part of the user (that's right, no more dependency hell!).

Plenty of technologies exist to improve programs, but they tend to be highly specialized and/or difficult to use. My systems do not require root access, or changes to the application, OS, or hardware. The largest projects to emerge from my doctoral work are ProcessCache, a system for providing automatic caching of arbitrary Linux processes, and DetTrace, a Linux container system that automatically enforces determinism for programs run through it. Both systems are open-source. More information on these projects can be found here.