Reasoning about many-to-many requirement relationships in spreadsheets

To help improve the reliability of spreadsheets created by end users, we are working to allow users to communicate the purpose and other underlying information about their spreadsheets, using a form of requirement specifications we call "guards." For large spreadsheets with replicated/shared formulas across groups of rows or columns, guards can only be practical if users can enter them across these groups of rows or columns. The problem is, this introduces many-to-many relationships, and it is not clear how the system should reason and communicate about them in a way that will make sense to end users. In this paper, we present the human-centric design rationale for our approach to how the system should reason about such many-to-many relationships. The design decisions are presented with their reasons gleaned from two design-time models - cognitive dimensions and attention economics -and from the users themselves in a small think-aloud study.

[1]  Sriram Sankar,et al.  Concurrent runtime monitoring of formally specified programs , 1993, Computer.

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

[3]  James A. Landay,et al.  Sketching Interfaces: Toward More Human Interface Design , 2001, Computer.

[4]  Nicholas J. Belkin,et al.  Helping people find what they don't know , 2000, CACM.

[5]  David S. Rosenblum A Practical Approach to Programming With Assertions , 1995, IEEE Trans. Software Eng..

[6]  Raymond R. Panko,et al.  What we know about spreadsheet errors , 1998 .

[7]  Gregg Rothermel,et al.  Incorporating incremental validation and impact analysis into spreadsheet maintenance: an empirical study , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

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

[9]  Margaret M. Burnett,et al.  Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm , 2001, Journal of Functional Programming.

[10]  Wai-Tat Fu,et al.  Ignoring perfect knowledge in-the-world for imperfect knowledge in-the-head , 2001, CHI.

[11]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  Rob Miller,et al.  Outlier finding: focusing user attention on possible errors , 2001, UIST '01.

[13]  Gregg Rothermel,et al.  What you see is what you test: a methodology for testing form-based visual programs , 1998, Proceedings of the 20th International Conference on Software Engineering.

[14]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[15]  Gregg Rothermel,et al.  Slicing spreadsheets: an integrated methodology for spreadsheet testing and debugging , 1999, DSL '99.

[16]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[17]  Margaret M. Burnett,et al.  Assertions in end-user software engineering: a think-aloud study , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[18]  Alan F. Blackwell,et al.  Investment of attention as an analytic approach to cognitive dimensions , 1999, PPIG.

[19]  Trevor J. Smedley,et al.  A testing methodology for a dataflow based visual programming language , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).