Nathan Sobotka

View My GitHub nsobotka

Image of myself

Resume

About Me

Hello, I'm Nathan Sobotka, a student at the University of Pennsylvania. I study computer science and I'm most interested in low-level areas, including computer architecture and compiler verification.

I spent this summer working with Professor Joe Devietti on a project called Robust Profile Guided Runtime Prefetch Generation (RPG2). The project worked on dynamically inserting prefetch statements into C and C++ binaries to increase performance. RPG2 achieves of speedup of up to 2.15x. Because RPG2 is dynamic, it is capable of tuning the prefetch distance while the code is running, and it can turn itself off when prefetching hurts performance!

Additionally, I was an intern at the NASA Langley Research Center. There we worked on combining static analysis with property based testing. Two common property-based testing techniques, randomized testing and enumeration, both have drawbacks. Randomized testing is unlikely to find rare errors, while enumeration techniques are unlikely to find large inputs that cause bugs. Because of this, we created a system that uses static analysis to find the constructor patterns in Haskell code, and use those patterns to inform a combinatorial testing suite. With this extra guidance, combinatorial testing our testing is able to find bugs other testing methodologies cannot.

Education

Work

Projects

For an indepth look at my projects, please reach out to me at nsobotka@seas.upenn.edu. I may be permitted to share some of my private repositories with recruiters.

Coursework

More information can be found in the course catalog.

Contact information

My email address is nsobotka@seas.upenn.edu.