Spreadsheets can be hazardous to your health
Personal Computing
Spreadsheet analysis and design
Communications of the ACM
Comparison of program testing strategies
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Toward a logical/physical theory of spreadsheet modeling
ACM Transactions on Information Systems (TOIS)
A methodology for testing spreadsheets
ACM Transactions on Software Engineering and Methodology (TOSEM)
Types and programming languages
Types and programming languages
Testing Homogeneous Spreadsheet Grids with the "What You See Is What You Test" Methodology
IEEE Transactions on Software Engineering
Automated test case generation for spreadsheets
Proceedings of the 24th International Conference on Software Engineering
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Quality Control in Spreadsheets: A Software Engineering-Based Approach to Spreadsheet Development
HICSS '00 Proceedings of the 33rd Hawaii International Conference on System Sciences-Volume 4 - Volume 4
The Art of Modeling with Spreadsheets
The Art of Modeling with Spreadsheets
Finding High-Level Structures in Spreadsheet Programs
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Validating the Unit Correctness of Spreadsheet Programs
Proceedings of the 26th International Conference on Software Engineering
Header and Unit Inference for Spreadsheets Through Spatial Analyses
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
Automatic generation and maintenance of correct spreadsheets
Proceedings of the 27th international conference on Software engineering
WEUSE I Proceedings of the first workshop on End-user software engineering
Garbage in, Garbage out? An Empirical Look at Oracle Mistakes by End-User Programmers
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Visual Specifications of Correct Spreadsheets
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Estimating the Numbers of End Users and End User Programmers
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Using Objects of Measurement to Detect Spreadsheet Errors
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
ClassSheets: automatic generation of spreadsheet applications from object-oriented specifications
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Gencel: a program generator for correct spreadsheets
Journal of Functional Programming
Sharing reasoning about faults in spreadsheets: An empirical study
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
AutoTest: A Tool for Automatic Test Case Generation in Spreadsheets
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Applying code inspection to spreadsheet testing
Journal of Management Information Systems - Special section: Strategic and competitive information systems
UCheck: A spreadsheet type checker for end users
Journal of Visual Languages and Computing
GoalDebug: A Spreadsheet Debugger for End Users
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A Type System Based on End-User Vocabulary
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Mutation Operators for Spreadsheets
IEEE Transactions on Software Engineering
Dimension inference in spreadsheets
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
Test-driven goal-directed debugging in spreadsheets
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
An abstract domain to infer types over zones in spreadsheets
SAS'12 Proceedings of the 19th international conference on Static Analysis
A web-centred approach to end-user software engineering
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Improving spreadsheet test practices
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Hi-index | 0.00 |
We present a reasoning system for inferring dimension information in spreadsheets. This system can be used to check the consistency of spreadsheet formulas and thus is able to detect errors in spreadsheets. Our approach is based on three static analysis components. First, the spatial structure of the spreadsheet is analyzed to infer a labeling relationship among cells. Second, cells that are used as labels are lexically analyzed and mapped to potential dimensions. Finally, dimension information is propagated through spreadsheet formulas. An important aspect of the rule system defining dimension inference is that it works bi-directionally, that is, not only ''downstream'' from referenced arguments to the current cell, but also ''upstream'' in the reverse direction. This flexibility makes the system robust and turns out to be particularly useful in cases when the initial dimension information that can be inferred from headers is incomplete or ambiguous. We have implemented a prototype system as an add-in to Excel. In an evaluation of this implementation we were able to detect dimension errors in almost 50% of the investigated spreadsheets, which shows (i) that the system works reliably in practice and (ii) that dimension information can be well exploited to uncover errors in spreadsheets.