i-nth logo

Authors

Daniel W. Barowy, Dimitar Gochev, & Emery D. Berger

Abstract

Testing and static analysis can help root out bugs in programs, but not in data. This paper introduces data debugging, an approach that combines program analysis and statistical analysis to automatically find potential data errors.

Since it is impossible to know a priori whether data are erroneous, data debugging instead locates data that has a disproportionate impact on the computation. Such data is either very important or wrong.

Data debugging is especially useful in the context of data-intensive programming environments that intertwine data with programs in the form of queries or formulas.

We present the first data debugging tool, CHECKCELL, an add-in for Microsoft Excel. CHECKCELL identifies cells that have an unusually high impact on the spreadsheet's computations.

We show that CHECKCELL is both analytically and empirically fast and effective. We show that it successfully finds injected typographical errors produced by a generative model trained with data entry from 169,112 Mechanical Turk tasks.

CHECKCELL is more precise and efficient than standard outlier detection techniques. CHECKCELL also automatically identifies a key flaw in the infamous Reinhart and Rogoff spreadsheet.

Sample

Intent of CHECKCELL
Intent of CHECKCELL

CHECKCELL is designed to find important errors in spreadsheets that would otherwise be too large to audit manually.

CHECKCELL highlights all inputs whose presence causes function outputs to be dramatically different than the function output were those outputs excluded. CHECKCELL guides the user through an audit one cell at a time. The order that the audit visits suspected outliers depends on their severity in a total order established by a ranking metric.

Publication

2014, ACM International Conference on Object Oriented Programming Systems Languages & Applications, Volume 49, Issue 10, October, pages 507-523

Full article

CheckCell: Data debugging for spreadsheets