Ian C. McCormack

PhD Student @ Carnegie Mellon


I am a PhD student in Software Engineering at Carnegie Mellon University’s Institute for Software Research. I am advised by Dr. Jonathan Aldrich and Dr. Joshua Sunshine.

Tools that formally verify a program’s correctness tend to require significant up-front investment in annotating source code. I am researching gradual approaches to verification and program analysis to make these practices easier to adopt without compromising on soundness or effectiveness.

I am currently collaborating with Jenna Wise, Conrad Zimmerman, and Hermant Gouni on the design and implementation of a gradual verifier for the C0 programming language. We will empirically evaluate the effectiveness of this new gradual verification technique over C0’s existing static verifier.



  • Ian C. McCormack. “A Software Library Model for the Internet of Things.” In: Companion Proceedings ofthe 2020 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH Companion ’20), November 15–20, 2020, Virtual, USA

Artifacts & Demonstrations


I attended the University of Wisconsin-Eau Claire from 2017 to 2021, and I completed a double major in Computer Science and English with a cumulative GPA of 3.99.

Dr. Chris Johnson was my undergraduate research mentor. We built Twoville and Scute: implementations of a direct manipulation programming language for animating vector graphics designs.