[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1140335.1140346acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

Type inference for spreadsheets

Published: 10 July 2006 Publication History

Abstract

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.

References

[1]
R. Abraham and M. Erwig. Header and Unit Inference for Spreadsheets Through Spatial Analyses. In IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pages 165--172, 2004.
[2]
R. Abraham and M. Erwig. Goal-Directed Debugging of Spreadsheets. In IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pages 37--44, 2005.
[3]
R. Abraham and M. Erwig. How to Communicate Unit Error Messages in Spreadsheets. In 1st Workshop on End-User Software Engineering, pages 52--56, 2005.
[4]
R. Abraham and M. Erwig. Inferring Templates from Spreadsheets. In 28th IEEE Int. Conf. on Software Engineering, 2006. To appear.
[5]
R. Abraham, M. Erwig, S. Kollmansberger, and E. Seifert. Visual Specifications of Correct Spreadsheets. In IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pages 189--196, 2005.
[6]
Y. Ahmad, T. Antoniu, S. Goldwater, and S. Krishnamurthi. A Type System for Statically Detecting Spreadsheet Errors. In 18th IEEE Int. Conf. on Automated Software Engineering, pages 174--183, 2003.
[7]
T. Antoniu, P. A. Steckler, S. Krishnamurthi, E. Neuwirth, and M. Felleisen. Validating the Unit Correctness of Spreadsheet Programs. In 26th IEEE Int. Conf. on Software Engineering, pages 439--448, 2004.
[8]
P. S. Brown and J. D. Gould. An Experimental Study of People Creating Spreadsheets. ACM Transactions on Office Information Systems, 5(3):258--272, 1987.
[9]
M. M. Burnett, C. Cook, J. Summet, G. Rothermel, and C. Wallace. End-User Software Engineering with Assertions. In 25th IEEE Int. Conf. on Software Engineering, pages 93--103, 2003.
[10]
M. M. Burnett, A. Sheretov, B. Ren, and G. Rothermel. Testing Homogeneous Spreadsheet Grids with the "What You See Is What You Test" Methodology. IEEE Transactions on Software Engineering, 29(6):576--594, 2002.
[11]
M. J. Coblenz, A. J. Ko, and B. A. Myers. Using Objects of Measurement to Detect Spreadsheet Errors. In IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pages 314--316, 2005.
[12]
A. Ebrahimi. Novice Programmer Errors:Language Constructs and Plan Composition. Int. Journal of Human-Computer Studies, 41(4):457--480, 1994.
[13]
G. Engels and M. Erwig. ClassSheets:Automatic Generation of Spreadsheet Applications from Object-Oriented Specifications. In 20th IEEE/ACM Int. Conf. on Automated Software Engineering, pages 124--133, 2005.
[14]
M. Erwig, R. Abraham, I. Cooperstein, and S. Kollmansberger. Automatic Generation and Maintenance of Correct Spreadsheets. In 27th IEEE Int. Conf. on Software Engineering, pages 136--145, 2005.
[15]
M. Erwig, R. Abraham, S. Kollmansberger, and I. Cooperstein. Gencel--AProgramGenerator for Correct Spreadsheets. Journal of Functional Programming, 16(3):293--325, 2006.
[16]
M. Erwig and M. M. Burnett. Adding Apples and Oranges. In 4th Int. Symp. on Practical Aspects of Declarative Languages, LNCS 2257, pages 173--191, 2002.
[17]
EuSpRIG. European Spreadsheet Risks Interest Group. http://www.eusprig.org/.
[18]
M. Fisher and G. Rothermel. The EUSES Spreadsheet Corpus: A Shared Resource for Supporting Experimentation with Spreadsheet Dependability Mechanism. In 1st Workshop on End-User Software Engineering, pages 47--51, 2005.
[19]
M. Fisher II, M. Cao, G. Rothermel, C. Cook, and M. M. Burnett. Automated Test Case Generation for Spreadsheets. In 24th IEEE Int. Conf. on Software Engineering, pages 141--151, 2002.
[20]
J. D. Gannon. An Experimental Evaluation of Data Type Conventions. Communications of the ACM, 20(8):584--595, 1977.
[21]
K. Godfrey. Computing Error at Fidelity's Magellan Fund. The Risks Digest, 16(72), 1995.
[22]
D. G. Hendry and T. R. G. Green. Creating, Comprehending and Explaining Spreadsheets:A Cognitive Interpretation of What Discretionary Users Think of the Spreadsheet Model. International Journal of Human-Computer Studies, 40:1033--1065, 1994.
[23]
T. Isakowitz, S. Schocken, and H. C. Lucas, Jr. Toward a Logical/Physical Theory of Spreadsheet Modelling. ACM Transactions on Information Systems, 13(1):1--37, 1995.
[24]
A. Kay. Computer Software. Scienti . c American, 251(3):41--47, 1984.
[25]
J. F. Lerch, M. M. Mantei, and J. R. Olson. Skilled Financial Planning: The Cost of Translating Ideas Into Action. ACM Conf. on Human Factors in Computing Systems, pages 121--126, 1989.
[26]
C. Lewis and G. M. Olson. Can Principles of Cognition Lower the Barriers to Programming? In 2nd Workshop on Empirical Studies of Programmers, pages 248--263, 1987.
[27]
R. Mittermeir and M. Clermont. Finding High-Level Structures in Spreadsheet Programs. In 9th Working Conference on Reverse Engineering, pages 221--232, 2002.
[28]
D. A. Norman. Cognitive Engineering. In D. A. Norman and S. W. Draper, editors, User-Centered System Design, pages 31--61. Hillsale, NJ: Lawrence Erlbaum, 1986.
[29]
R. R. Panko. What We Know About Spreadsheet Errors. Journal of End User Computing (Special issue on Scaling Up End User Development), 10(2):15--21, 1998.
[30]
R. R. Panko. Applying Code Inspection to Spreadsheet Testing. Journal of Management Information Systems, 16(2):159--176, 1999.
[31]
R. R. Panko. Spreadsheet Errors:What We Know. What We Think We Can Do. In Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG), 2000.
[32]
S. L. Peyton Jones, A. Blackwell, and M. M. Burnett. A User-Centered Approach to Functions in Excel. In ACM Int. Conf. on Functional Programming, pages 165--176, 2003.
[33]
L. Prechelt and W. F. Tichy. A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking. IEEE Transactions on Software Engineering, 24(4):302--312, 1998.
[34]
K. Rajalingham, D. Chadwick, B. Knight, and D. Edwards. Quality Control in Spreadsheets: A Software Engineering-Based Approach to Spreadsheet Development. In 33rd Hawaii Int. Conf. on System Sciences, pages 1--9, 2000.
[35]
K. Rajalingham, D. R. Chadwick, and B. Knight. Classification of Spreadsheet Errors. Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG), 2001.
[36]
B. Ronen, M. A. Palley, and H. C. Lucas, Jr. Spreadsheet Analysis and Design. Communications of the ACM, 32(1):84--93, 1989.
[37]
G. Rothermel, M. M. Burnett, L. Li, C. DuPuis, and A. Sheretov. A Methodology for Testing Spreadsheets. ACM Transactions on Software Engineering and Methodology, pages 110--147, 2001.
[38]
J. Sajaniemi. Modeling Spreadsheet Audit: A Rigorous Approach to Automatic Visualization. Journal of Visual Languages and Computing, 11:49--82, 2000.
[39]
C. Sca . di, M. Shaw, and B. Myers. Estimating the Numbers of End Users and End User Programmers. In IEEE Symp. on Visual Languages and Human-Centric Computing, pages 207--214.
[40]
J. C. Spohrer and E. Soloway. Novice Mistakes: Are the Folk Wisdoms Correct? Communications of the ACM, 29(7):624--632, 1986.
[41]
J. G. Spohrer and E. Soloway. Analyzing the High Frequency Bugs in Novice Programs. In First Workshop on Empirical Studies of Programmers, pages 230--251, 1986.
[42]
A. G. Yoder and D. L. Cohn. Real Spreadsheets for Real Programmers. In Int. Conf. on Computer Languages, pages 20--30, 1994.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '06: Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2006
280 pages
ISBN:1595933883
DOI:10.1145/1140335
  • General Chair:
  • Annalisa Bossi,
  • Program Chair:
  • Michael Maher
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 July 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. end-user software engineering
  2. templates
  3. type inference

Qualifiers

  • Article

Conference

PPDP06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)How do developers use type inference: an exploratory study in KotlinEmpirical Software Engineering10.1007/s10664-024-10585-y30:2Online publication date: 16-Jan-2025
  • (2020)Higher-Order Spreadsheets with Spilled ArraysProgramming Languages and Systems10.1007/978-3-030-44914-8_27(743-769)Online publication date: 27-Apr-2020
  • (2019)Puncalc: task-based parallelism and speculative reevaluation in spreadsheetsThe Journal of Supercomputing10.1007/s11227-019-02823-8Online publication date: 23-Mar-2019
  • (2017)ZenSheet studio: a spreadsheet-inspired environment for reactive computingProceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity10.1145/3135932.3135949(33-35)Online publication date: 22-Oct-2017
  • (2016)An application of database query translation into spreadsheets2016 International Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT)10.1109/ICEEOT.2016.7755220(2861-2866)Online publication date: Mar-2016
  • (2015)Translating Relational Queries into SpreadsheetsIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2015.239744027:8(2291-2303)Online publication date: 1-Aug-2015
  • (2015)Spreadsheet EngineeringCentral European Functional Programming School10.1007/978-3-319-15940-9_6(246-299)Online publication date: 21-Mar-2015
  • (2014)Automating the formalization of product comparison matricesProceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering10.1145/2642937.2643000(433-444)Online publication date: 15-Sep-2014
  • (2014)Model-based programming environments for spreadsheetsScience of Computer Programming10.1016/j.scico.2014.02.00296:P2(254-275)Online publication date: 15-Dec-2014
  • (2012)Evaluating Mobile ApplicationsInternational Journal of Mobile Human Computer Interaction10.4018/jmhci.20121001034:4(37-65)Online publication date: 1-Oct-2012
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media