Ian C. McCormack

PhD Student @ Carnegie Mellon

  • Institute for Software Research
  • icmccorm@andrew.cmu.edu
  • (412) 219-2160


I’m 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 program 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.




A Software Library Model for the Internet of Things

Ian C. McCormack

Extended abstract. In Proc. of the SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), 2020, 28—30.

Artifacts & Demonstrations

CPS-IoT Week

One Program to Rule the Intersection

Reese Grimsley, Edward Andert, Ian C. McCormack, Eve Hu, Bob Iannucci

In Student Design Competition: Networked Computing at the Edge, 2020.


Direct Manipulation and SVG: Creating and Adjusting Graphics Programmatically and Visually

Ian C. McCormack, Chris Johnson

Demonstration. In FabLearn: Making as Resistance and Resilience, 2020.



Direct Manipulation for Computational Making

Ian C. McCormack, Chris Johnson

Lightning Talk. In SPLASH-E, 2020.


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.