Ian McCormack
banner
icmccorm.com
Ian McCormack
@icmccorm.com
PhD Candidate in Software Engineering @CMU
Studying Rust interop 🦀

borrowsanitizer.com
I’m convinced that the world would be marginally better if everyone could play on a weekly trivia team.
November 20, 2025 at 2:36 AM
There’s nothing in the world quite like a coffee shop with free refills. ☕️
November 18, 2025 at 5:36 PM
Watching Game of Thrones is making me wish for that Mistborn adaptation Brandon Sanderson keeps talking about…
November 15, 2025 at 6:06 PM
I can’t tell if it’s wonderful or terrible to figure out the reason for your segfault right as the day is ending.
November 14, 2025 at 10:17 PM
My dryer is evil. It tore apart one sock, and its threads caught up on several other socks, creating a terrible vortex of torn socks. It’s clearly out to get me.
November 13, 2025 at 3:25 PM
Coming from Minnesota, it’s only just starting to feel like fall in Pittsburgh, but the leaves are already mostly gone! 😓 🍂 Wishing for colder weather…
November 6, 2025 at 3:07 PM
Just arrived in San Jose for this year’s LLVM Developers Meeting! Tomorrow, I’ll be presenting our ongoing work on BorrowSanitizer—an LLVM instrumentation tool for finding Rust-specific forms of undefined behavior in multilanguage applications.
October 26, 2025 at 11:54 PM
Most of the people I know who play pickleball these days are surprised that I used to play it in gym class during high school—was that just a midwest/MN thing? I dunno.
October 16, 2025 at 2:30 PM
Reposted by Ian McCormack
#GradualVerification helps developers specify code one component at a time, checking statically where possible and dynamically where necessary.

Come see doubleheader talks on #GradualVerification in #IWACO at #SPLASH 2025 / @icfp-conference.bsky.social! 16:25-17:15 in Peony room 4412.
October 14, 2025 at 1:53 AM
Working in C++ lately has me missing Rust’s traits and enums.
October 9, 2025 at 2:35 PM
Digging into backtraces this week—it’s surprising to me how varied and complicated it can be to produce something that I typically take for granted. Especially in a no_std library.
October 2, 2025 at 2:27 PM
For BorrowSanitizer, we have a no_std requirement, but often times I’ve found that the only crates for solving certain problems rely on std, and that no_std solutions are less maintained. It makes me wonder if tooling would help identify areas where std is unnecessary.
September 25, 2025 at 2:22 PM
Rust has been a better experience than C++ for me when using unfamiliar APIs. In a large C++ codebase, there are a bunch of unspoken idioms about how to use certain functions correctly that are not always documented. With Rust, these are enforced by the type system.
September 4, 2025 at 2:22 PM
Lately I’ve been building a tool that requires changed to the Rust compiler’s LLVM backend, which you cannot do through an external plugin. This is good for correctness—ideally, you don’t want to allow third-party plugins to break codegen—but makes it tricky for tools that need that level of access.
August 7, 2025 at 2:15 PM
Reposted by Ian McCormack
11am today at #ICSE2025: Rust provides memory safety to low-level code, but in practice Rust libraries link to unsafe C. @icmccorm.com Josh Sunshine and I used dynamic analysis to find 46 cases where the C code broke Rust's memory rules, causing undefined behavior. Preprint: arxiv.org/pdf/2404.11671
arxiv.org
May 2, 2025 at 1:42 PM
I’m in Ottawa this week for #icse2025! Always down to chat about #rustlang 🦀
April 28, 2025 at 10:07 PM
Reposted by Ian McCormack