Portrait of Tom Ball

Tom Ball

Principal Researcher

About

I work in the area of programming languages and software engineering in MSR’s Redmond Lab. My research interests are in how combinations of static/dynamic program analysis, model checking and theorem proving techniques can help improve the correctness and reliability of programs. I’ve been working recently on Microsoft MakeCode, a new platform for bringing physical computing to everyone, based on our experience with the BBC micro:bit. See my papers for more details.

Recent Papers

CHI 2018ARcadia: A Rapid Prototyping Platform for Real-time Tangible Interfaces. Annie Kelly, R. Benjamin Shapiro, Jonathan de Halleux, Thomas Ball. April 2018
LCTES 2018MakeCode and CODAL: Intuitive and Efficient Embedded Systems Programming for Education. James Devine, Joe Finney, Peli de Halleux, Michal Moskal, Thomas Ball, Steve Hodges. June 2018

Recent Talks

 Invited Talk: Formal Methods and Tools for Distributed Systems, NUS Computer Science Research Week 2019, January 2019 [Slides]
Keynote: Push, Pull, Partner A Few Models for Working with Industry, International Conference on Software Architecture, May 2018 [Slides]
Northwest C++ User’s Group – Microsoft MakeCode: from C++ to TypeScript and Blockly (and Back)
Video | Slides ]
Invited talk “Physical Computing for Everyone” at UCSD Design Lab, October 11, 2017
Keynote: “Formal Methods at Scale in Microsoft” at Software-Centric Systems Conference, Eindhoven, October 4, 2017
Keynote “Physical Computing for Everyone”, ICSE Software Engineering Education and Training, May 2017

Recent Awards

ICSE 2017 Most Influential Paper Award: Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball: Feedback-Directed Random Test Generation, ICSE-29, 2007

Other Writing

Blog: Microsoft Research and the Industrial Research Cycle
Microsoft Touch Develop and the BBC micro:bit, Thomas Ball, Jonathan Protzenko, Judith Bishop, Michal Moskal, Jonathan de Halleux, Michael Braun, Steve Hodges, Clare Riley, ICSE 2016
CloudSDV Enabling Static Driver Verifier Using Microsoft Azure, Rahul Kumar, Thomas Ball, Jakob Lichtenberg, Nate Deisinger, Apoorv Upreti, Chetan Bansal: IFM 2016: 523-536
Teach foundational language principles. Thomas Ball, Benjamin Zorn. Commun. ACM 58(5): 30-31 (2015)
Beyond Open Source: The Touch Develop Cloud-Based Integrated Development Environment. MOBILESoft 2015: 83-93
Deconstructing Dynamic Symbolic Execution. Dependable Software Systems Engineering 2015: 26-41

Projects

Publications

Videos

Other

Tools

Recent Talks

Awards

Recent Service

History

I grew up in Summit, NJ, where my claim to fame was writing a game for the Apple ][ called Falcons in 1980 with high school pal Eric Varsanyi (see The Giant List of Classic Game Programmers). I attended Cornell University (B.A. 1987), and the University of Wisconsin-Madison (Ph.D. 1993). From 1993-1999, I was at Bell Labs in Naperville, IL in the (now defunct) Software Production Research Department. After 12 years as a Midwesterner, I had had enough. Now I live in Mercer Island, WA. I have sung in various Unitarian Universalist choirs, play e-bass (mainly jazz, blues, some rock ‘n roll) and piano.  I now play in a band called the “The Middle Third“.