|
ABSTRACT
In this paper, we present an efficient method for automatically generalizing programs written in spreadsheet languages. The strategy is to do generalization through incremental analysis of logical relationships among concrete program entities from the perspective of a particular computational goal. The method uses deductive dataflow analysis with algebraic back-substitution rather than inference with heuristics, and there is no need for generalization-related dialog with the user. We present the algorithms and their time complexities and show that, because the algorithms perform their analyses incrementally, on only the on-screen program elements rather than on the entire program, the method is scalable. Performance data is presented to help demonstrate the scalability.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Ambler, A. 1999. The Formulate visual programming language. Dr. Dobb's Journal 24, 8, 21--28.
|
| |
2
|
Ambler, A. and Hsia, Y. 1993. Generalizing selection in by-demonstration programming. J. Vis. Lang. Comput. 4, 3, 283--300.
|
| |
3
|
Burnett, M. and Ambler, A. 1994. Interactive visual data abstraction in a declarative visual programming language. J. Vis. Lang. Comput. 5, 1, 29--60.
|
| |
4
|
|
| |
5
|
Margaret Burnett , John Atwood , Rebecca Walpole Djang , James Reichwein , Herkimer Gottfried , Sherry Yang, Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm, Journal of Functional Programming, v.11 n.2, p.155-206, March 2001
|
| |
6
|
|
 |
7
|
|
| |
8
|
Burnett, M., Yang, S., and Summet, J. 2001b. A Scalable Method for Deductive Generalization in the Spreadsheet Paradigm. Technical Rep. TR 01-60-02, Oregon State University, Corvallis, Ore; http://www.cs.orst.edu/∼burnett/reprints.html.
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
Heger, N., Cypher, A., and Smith, D. 1998. Cocoa at the Visual Programming Challenge 1997. J. Vis. Lang. Comput. 9, 2, 151--169.
|
| |
13
|
|
| |
14
|
Kahn, K. 1996. ToonTalk---An animated programming environment for children. J. Vis. Lang. Comput. 7, 2, 197--217.
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
Myers, B. and Maulsby, D. 1993. Glossary. In Watch What I Do: Programming by Demonstration, A. Cypher, Ed. MIT Press, Cambridge, Mass., 593--603.
|
| |
24
|
|
 |
25
|
Dan R. Olsen, Jr. , Xinyu Deng, Inductive groups, Proceedings of the 9th annual ACM symposium on User interface software and technology, p.193-199, November 06-08, 1996, Seattle, Washington, United States
[doi> 10.1145/237091.237120]
|
| |
26
|
|
| |
27
|
|
| |
28
|
Sassin, M. 1994. Creating user-intended programs with programming by demonstration. In Proceedings of the IEEE Symposium on Visual Languages (St. Louis, Mo, Oct. 4--7, 1994). IEEE Computer Society Press, Los Alamitos, Calif., 153--160.
|
| |
29
|
Smith, D. 1975. Pygmalion: a computer program to model and stimulate creative thought, Ph.D. dissertation, Stanford University, Stanford Calif. 1975. (A more accessible summary of this work can be found in Cypher, A. 1993. Watch What I Do: Programming by Demonstration. MIT Press, Cambridge, Mass.)
|
 |
30
|
|
 |
31
|
|
| |
32
|
|
 |
33
|
|
 |
34
|
|
| |
35
|
Yang, S. and Burnett, M. 1994. From concrete forms to generalized abstractions through perspective-oriented analysis of logical relationships. In Proceedings of the IEEE Symposium on Visual Languages (St. Louis, Mo., Oct. 4--7, 1994). IEEE Computer Society Press, Los Alamitos, Calif., 6--14.
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
Subjects:
Procedures, functions, and subroutines
Additional Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.7
Visual Programming
H.
Information Systems
H.4
INFORMATION SYSTEMS APPLICATIONS
H.4.1
Office Automation
Subjects:
Spreadsheets
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.2
User Interfaces (D.2.2, H.1.2, I.3.6)
Subjects:
Interaction styles (e.g., commands, menus, forms, direct manipulation)
General Terms:
Human Factors,
Languages
Keywords:
Forms/3,
Human-computer interaction,
concrete programming,
generalization,
graphical programming,
spreadsheet languages
|