GoalDebug: A Spreadsheet Debugger for End Users

We present a spreadsheet debugger targeted at end users. Whenever the computed output of a cell is incorrect, the user can supply an expected value for a cell, which is employed by the system to generate a list of change suggestions for formulas that, when applied, would result in the user-specified output. The change suggestions are ranked using a set of heuristics. In previous work, we had presented the system as a proof of concept. In this paper, we describe a systematic evaluation of the effectiveness of inferred change suggestions and the employed ranking heuristics. Based on the results of the evaluation we have extended both, the change inference process and the ranking of suggestions. An evaluation of the improved system shows that change inference process and the ranking heuristics have both been substantially improved and that the system performs effectively.

[1]  Brad A. Myers,et al.  Studying the language and structure in non-programmers' solutions to programming problems , 2001, Int. J. Hum. Comput. Stud..

[2]  Gregg Rothermel,et al.  The EUSES spreadsheet corpus: a shared resource for supporting experimentation with spreadsheet dependability mechanisms , 2005, ACM SIGSOFT Softw. Eng. Notes.

[3]  Martin Erwig,et al.  AutoTest: A Tool for Automatic Test Case Generation in Spreadsheets , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[4]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[5]  Martin Erwig,et al.  Header and Unit Inference for Spreadsheets Through Spatial Analyses , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[6]  Martin Erwig,et al.  UCheck: A spreadsheet type checker for end users , 2007, J. Vis. Lang. Comput..

[7]  Martin Erwig,et al.  Mutation testing of spreadsheets , 2006 .

[8]  Martin Erwig,et al.  Goal-directed debugging of spreadsheets , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[9]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[10]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[11]  M. Fisher,et al.  The EUSES spreadsheet corpus: a shared resource for supporting experimentation with spreadsheet dependability mechanisms , 2005, WEUSE@ICSE.

[12]  Mary Shaw,et al.  Estimating the numbers of end users and end user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[13]  Gregg Rothermel,et al.  Testing Homogeneous Spreadsheet Grids with the "What You See Is What You Test" Methodology , 2002, IEEE Trans. Software Eng..

[14]  Margaret M. Burnett,et al.  Garbage in, garbage out? An empirical look at oracle mistakes by end-user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[15]  Margaret M. Burnett,et al.  End-user software visualizations for fault localization , 2003, SoftVis '03.

[16]  Brian Knight,et al.  Quality control in spreadsheets: a software engineering-based approach to spreadsheet development , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[17]  Margaret M. Burnett,et al.  Adding Apples and Oranges , 2002, PADL.

[18]  Henry C. Lucas,et al.  Toward a logical/physical theory of spreadsheet modeling , 1992, TOIS.

[19]  J. J. Whelan 5th international conference on software engineering , 1981, SOEN.

[20]  Alan G. Yoder,et al.  Real spreadsheets for real programmers , 1994, Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94).

[21]  Gregg Rothermel,et al.  Integrating automated test generation into the WYSIWYT spreadsheet testing methodology , 2006, TSEM.

[22]  Shriram Krishnamurthi,et al.  A type system for statically detecting spreadsheet errors , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[23]  Roland Mittermeir,et al.  Finding high-level structures in spreadsheet programs , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[24]  Matthias Felleisen,et al.  Validating the unit correctness of spreadsheet programs , 2004, Proceedings. 26th International Conference on Software Engineering.

[25]  Carl Martin Allwood,et al.  Error Detection Processes in Statistical Problem Solving , 1984, Cogn. Sci..

[26]  Raymond R. Panko,et al.  Applying Code Inspection to Spreadsheet Testing , 1999, J. Manag. Inf. Syst..

[27]  Gregory Tassey,et al.  Prepared for what , 2007 .

[28]  Raymond R. Panko,et al.  Spreadsheet Errors: What We Know. What We Think We Can Do , 2008, ArXiv.

[29]  M. Erwig,et al.  Automatic generation and maintenance of correct spreadsheets , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[30]  Jorma Sajaniemi Modeling Spreadsheet Audit: A Rigorous Approach to Automatic Visualization , 2000, J. Vis. Lang. Comput..

[31]  Martin Erwig,et al.  Gencel: a program generator for correct spreadsheets , 2006, J. Funct. Program..

[32]  Gregg Rothermel,et al.  A methodology for testing spreadsheets , 2001, TSEM.

[33]  Martin Erwig,et al.  Inferring templates from spreadsheets , 2006, ICSE '06.