Novice mistakes: are the folk wisdoms correct?
Communications of the ACM
An experimental study of people creating spreadsheets
ACM Transactions on Information Systems (TOIS)
Analyzing the high frequency bugs in novice programs
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Can principles of cognition lower the barriers to programming?
Empirical studies of programmers: second workshop
Spreadsheet analysis and design
Communications of the ACM
Skilled financial planning: the cost of translating ideas into action
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
International Journal of Human-Computer Studies
Toward a logical/physical theory of spreadsheet modeling
ACM Transactions on Information Systems (TOIS)
Novice programmer errors: language constructs and plan composition
International Journal of Human-Computer Studies
A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking
IEEE Transactions on Software Engineering
What we know about spreadsheet errors
Journal of End User Computing - End User Development
An experimental evaluation of data type conventions
Communications of the ACM
A methodology for testing spreadsheets
ACM Transactions on Software Engineering and Methodology (TOSEM)
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
End-user software engineering with assertions in the spreadsheet paradigm
Proceedings of the 25th International Conference on Software Engineering
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
Finding High-Level Structures in Spreadsheet Programs
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
A user-centred approach to functions in Excel
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
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
How to communicate unit error messages in spreadsheets
WEUSE I Proceedings of the first workshop on End-user software engineering
Goal-Directed Debugging of Spreadsheets
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
Inferring templates from spreadsheets
Proceedings of the 28th international conference on Software engineering
Applying code inspection to spreadsheet testing
Journal of Management Information Systems - Special section: Strategic and competitive information systems
A Type System Based on End-User Vocabulary
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Spreadsheet as a relational database engine
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
Systematic evolution of model-based spreadsheet applications
Journal of Visual Languages and Computing
Model-based programming environments for spreadsheets
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Are Mobile Spreadsheet Applications Usable?
Journal of Organizational and End User Computing
Hi-index | 0.00 |
Spreadsheets are the most popular programming systems in use today. Since spreadsheets are visual, first-order functional languages, research into the foundations of spreadsheets is therefore a highly relevant topic for the principles and, in particular, the practice, of declarative programming.Since the error rate in spreadsheets is very high and since those errors have significant impact, methods and tools that can help detect and remove errors from spreadsheets are very much needed. Type systems have traditionally played a strong role in detecting errors in programming languages, and it is therefore reasonable to ask whether type systems could not be helpful in improving the current situation of spreadsheet programming.In this paper we introduce a type system and a type inference algorithm for spreadsheets and demonstrate how this algorithm and the underlying typing concept can identify programming errors in spreadsheets. In addition, we also demonstrate how the type inference algorithm can be employed to infer models, or specifications, for spreadsheets, which can be used to prevent future errors in spreadsheets.