About Me

My name is Kelly Shiptoski. I am a detail-oriented and self-driven systems software engineer with a comprehensive background in designing, building, and maintaining large systems. I have extensive experience with low-level Linux development and multiple programming languages, including, but not limited to, Rust, C, and C++. I am a sixth year Ph.D. Candidate in Computer Science at the University of Pennsylvania where I am advised by Dr. Joseph Devietti.

Looking for a Job!

I recently defended my dissertation, and am currently seeking a full-time software engineering position. My CV can be found here. Feel free to contact me!

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.