Portrait of Tom Ball

Tom Ball

Research Mgr/
Principal Researcher

About

I am a research manager in the area of software engineering. 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. See my papers for more details.

Recent News

Over the last year and a half, I’ve been working on the BBC micro:bit. We’ve just debuted a new programming experience for the micro:bit at http://www.codethemicrobit.com/

Recent Papers

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

The BBC micro:bit and Microsoft

Established: May 28, 2015

Try our Block/JavaScript editor! The BBC and partners, including Microsoft, announce the BBC micro:bit – a pocket-sized, codeable computer that allows children to get creative with technology. Up to 1 million micro:bits will be given to every 11 or 12…

Concurrent Revisions

Established: September 15, 2010

The Revisions project introduces a novel programming model for concurrent, parallel, and distributed applications. It provides programmers with a simple, yet powerful and efficient mechanism (based on mutable snapshots and deterministic conflict resolution) to execute various application tasks in parallel…

HAVOC

Established: November 25, 2008

HAVOC is a tool for specifying and checking properties of systems software written in C, in the presence of pointer manipulations, unsafe casts and dynamic memory allocation. The assertion logic of HAVOC allows the expression of properties of linked lists…

CHESS: Find and Reproduce Heisenbugs in Concurrent Programs

Established: October 1, 2008

CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved…

Publications

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2005

2004

2003

2002

2001

2000

1999

1996

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“.