ABSTRACT
There has been a great interest recently in systems that use graphics to aid in the programming, debugging, and understanding of computer programs. The terms “Visual Programming” and “Program Visualization” have been applied to these systems. Also, there has been a renewed interest in using examples to help alleviate the complexity of programming. This technique is called “Programming by Example.” This paper attempts to provide more meaning to these terms by giving precise definitions, and then uses these definitions to classify existing systems into a taxonomy. A number of common unsolved problems with most of these systems are also listed.
- Albizuri-Romero 84.Miren B. Albizuri-Romero. "GRASE--A Graphical Syntax-Directed Editor for Structured Programming," SIGPLAN Notices. 19{2) Feb. 1984. pp. 28-37. Google ScholarDigital Library
- Attardi 82.Giuseppe Attardi and Maria Simi. "Extending the Power of Programming by Example," SIGOA Conference on Office Information Systems, Philadelphia, PA, Jun. 21-23, 1982. pp. 52-66. Google ScholarDigital Library
- Baecker 68.R.M.Baecker. "Experiments in On-Line Graphical Debugging: The Interrogation of Complex Data Structures," (Summary only) First Hawaii International Conference on the System Sciences. Jan. 1968. pp. 128-129.Google Scholar
- Baecker 75.R.M.Baecker. "Two Systems which Produce Animated Animated Representations of the Execution of Computer Programs," SIGCSE Bulletin. 7(1) Feb. 1975. pp. 158-167. Google ScholarDigital Library
- Baecker 81.Ron Baecker, Sorting out Sorting, 16Imin color, sound film, 25 Ininutes. Dynamics Graphics Project, Computer Systems Research Institute, University of Toronto, Toronto, Ontario, Canada. 1981. Presented at ACM SIG- GRAPH'81. Dallas, TX. Aug. 1981.Google Scholar
- Baecker 86.Ronald Baecker and Aaron Marcus. "Design Principles for the Enhanced Presentation of Computer Program Source Text," Human Factors in Computing Systems: Proceedings SIGCHI'86. Boston, MA. Apr. 13-17, 1986. Google ScholarDigital Library
- Bauer 78.Michael A. Bauer. A Basis for the Acquisition of Procedures. PhD Thesis, Department of Computer Science, University of Toronto. 1978. 310 pages. Google ScholarDigital Library
- Biermann 76a.Alan W. Biermann. "Approaches to Automatic Programming," Advances in Computers, Morris Rubinoff and Marshall C. Yovitz, eds. (15) New York: Academic Press, 1976. pp. 1-63.Google Scholar
- Biermann 76b.Alan W. Biermann and Ramachandran Krishnaswamy. "Constructing Programs from Example Computations," IEEE Transactions on Software Engineering. SE- 2(3) Sept. 1976. pp. 141-153.Google ScholarDigital Library
- Borning 79.Alan Borning. Thinglab--A Constraint-Oriented Simulation Laboratory. Xerox Palo Alto Research Center Technical Report SSL-79-3. July, 1979.Google Scholar
- Borning 81.Alan Borning. "The Programming Language Aspects of Thinglab; a Constraint-Oriented Simulation Laboratory," Transactions on Programming Language and Systems. 3(4) Oct. 1981. pp. 353-387. Google ScholarDigital Library
- Borning 86.Alan Borning. "Defining Constraints Graphically," Human Factors in Computing Systems: Proceedings SIG- CHI'86. Boston, MA. Apr. 13-17, 1986. Google ScholarDigital Library
- Brown 84.Marc H. Brown and Robert Sedgewick. "A System for Algorithm Animation," Computer Graphics: SIGGRAPH'84 Conference Proceedings. Minneapolis, Minn. 18(3) July 23- 27, 1984. pp. 177-186. Google ScholarDigital Library
- Brown 85.Gretchen P. Brown, Richard T. Curling, Christopher F. Herot, David A. Kramlich, and Paul Souza. "Program Visualization: Graphical Support for Software Development," IEEE Computer. 18{8) Aug. 1985. pp. 27-35.Google Scholar
- Christensen 68.Carlos Christensen. "An Example of the Manipulationof Directed Graphs in the AMBIT/G Programming Language," in interactive Systems for Experimental Applied Mathematics, MeDin Klerer and Juris Reinfelds, eds. New York: Academic Press, 1968. pp. 423-435.Google Scholar
- Christensen 71.Carlos Christensen. "An Introduction to AMBIT/L, A Diagramatic Language for List Processing," Proceedings of the 2nd Symposium on Symbolic and Algebraic Manipulation. Los Angeles, CA. Mar. 23-25, 1971. pp. 248-260. Google ScholarDigital Library
- Ellis 69.T.O. Ellis, J.F. Heafner and W.L. Sibley. The Grail Project: An Experiment in Man-Machine Communication. RAND Report RM-5999-Arpa. 1969.Google Scholar
- Glinert 84.Ephraim P. Glinert and Steven L. Tanimoto. "Piet: An Interactive Graphical Programming Environment," IEEE Computer. 17(11) Nov. 1984. pp. 7-25. Google ScholarDigital Library
- Gould 84.Laura Gould and William Finzer. Programming by Rehearsal. Xerox Palo Alto Research Center Technical Report SCL-84-1. May, 1984. 133 pages. Excerpted in Byte. 9(6) June, 1984.Google Scholar
- Grafton 85.Robert B. GraRon and Tadao Ichikawa, eds. IEEE Computer, Special Issue on Visual Programming. 18(8) Aug. 1985.Google Scholar
- Haibt 59.Lois M. Haibt. "A Program to Draw Multi-Level Flow Charts," Proceedings of the Western Joint Computer Conference. San Francisco, CA. 15 Mar. 3-5, 1959. pp. 131-137.Google Scholar
- Halbert 81.Daniel C. Halbert. An Example of Programming by Example. Masters of Science Thesis. Computer Science Division, Dept. of EE&CS, University of California, Berkeley and Xerox Corporation Office Products Division, Palo Alto, CA. June, 1981.Google Scholar
- Halbert 84.Daniel C. Halbert. Programming by Example. PhD Thesis. Computer Science Division, Dept. of EE&CS, University of California, Berkeley. 1984. Also: Xerox Office Systems Division, Systems Development Department, TR OSD-T8402, December, 1984. Google ScholarDigital Library
- Jacob 85.Robert J.K. Jacob. "A State Transition Diagram Language for Visual Programming," IEEE Computer. 18(8) Aug. 1985. pp. 51-59.Google ScholarDigital Library
- Lieberman 82.Henry Lieberman. "Constructing Graphical User Interfaces by Example," Graphics Interface'82, Toronto, Ont. Mar. 17-21, 1982. pp. 295-302.Google Scholar
- London 85.Ralph L. London and Robert A. Druisberg. "Animating Programs in Smalltalk," {EEE Computer. 18(8) Aug. 1985. pp. 61-71.Google ScholarDigital Library
- Moriconi 85.Mark Moriconi and Dwight F. Hare. "Visualizing Program Designs Through PegaSys," IEEE Computer. 18(8) Aug. 1985. pp. 72-85.Google ScholarDigital Library
- Myers 80.Brad A. Myers. Displaying Data Structures for Interacff, ve Debugging. Xerox Palo Alto Research Center Technical Report CSL-80-7. June, 1980.Google Scholar
- Myers 83.Brad A. Myers. "Incense: A System for Displaying Data Structures," Computer Graphics: SIGGRAPH '83 Conference Proceedings. 17(3)July 1983. pp. 115-125. Google ScholarDigital Library
- Nassi 73.I. Nassi and B. Shneiderman. "Flowchart Techniques for Structured Programming," SIGPLAN Notices. 8(8) Aug. 1973. pp. 12-26. Google ScholarDigital Library
- Oxford 83.Dictionary of Computing. Oxford: Oxford University Press, 1983.Google Scholar
- Pietrzykowski 83.Thomas Pietrzykowski, Stanislaw Matwin, and Tomasz Muldner. "The Programming Language PRO- GRAPH: Yet Another Application of Graphics," Graphics Interface'83, Edmonton, Alberta. May 9-13, 1983. pp. 143- 145.Google Scholar
- Pietrzykowski 84.T. Pietrzykowski and S. Matwin. PRO- GRAPH: A Preliminary Report. University of Ottawa Technical Report TR-84-07. April, 1984.Google Scholar
- Pong 83.M.C. Pong and N. Ng. "Pigs--A System for Programming with Interactive Graphical Support," Software-- Practice and Experience. 13(9) Sept. 1983. pp. 847-855.Google ScholarCross Ref
- Raeder 85.Georg Raeder. "A Survey of Current Graphical Programming Techniques," IEEE Computer. 18(8) Aug. 1985. pp. 11-25.Google ScholarDigital Library
- Rovner 69.P.D. Rovner and D.A. Henderson, Jr. "On the Implementation of AMBIT/G: A Graphical Programming Language," Proceedings of the International Joint Conference on Artificial Intelligence. Washington, D.C. May 7-9, 1969, pp. 9-20.Google Scholar
- Shaw 75.David E. Shaw, William R. Swartout, and C. Cordell Green. "Inferring Lisp Programs from Examples," Fourth International Joint Conference on Artificial Intelligence. Tbilisi, USSR. Sept. 3-8, 1975. 1 pp. 260-267.Google Scholar
- Shneiderman 83.Ben Shneiderman. "Direct Manipulation: A Step Beyond Programming Languages," IEEE Computer. 16(8) Aug. 1983. pp. 57-69.Google ScholarDigital Library
- Shu 85.Nan C. Shu. ~'FORMAL: A Forms-Oriented Visual- Directed Application Development System," IEEE Computer. 18(8) Aug. 1985. pp. 38-49.Google ScholarDigital Library
- Smith 77.David C. Smith. Pygmalion: A Computer Program to Model and Stimulate Creative Thought. Basel, Stuttgart: Birkhauser, 1977.Google Scholar
- Smith 82.David C. Smith, Charles Irby, Ralph Kimball, Bill Verplank, and Erik Harslem. "Designing the Star User Interface," Byte Magazine. April 1982. pp. 242-282.Google Scholar
- Sutherland 63.Ivan E. Sutherland. "SketchPad: A Man- Machine Graphical Communication System," AFIPS Spring Joint Computer Conference. 23 1963. pp. 329-346.Google Scholar
- Sutherland 66.William R. Sutherland. On.line Graphical Specification of Computer Procedures. MIT PhD Thesis. Lincoln Labs Report TR-405. 1966.Google Scholar
- Williams 84.Gregg Williams. '~The Apple Macintosh Computer," Byte Magazine. 9(2) February 1984. pp. 30-54.Google Scholar
- Zloof 77.Moshe M. Zloof and S. Peter de Jong. "The System for Business Automation (SBA): Programming Language," CACM. 20(6) June, 1977. pp. 385-396. Google ScholarDigital Library
- Zloof 81.Moshe M. Zloof. "QBE/OBE: A Language for Office and Business Automation," IEEE Computer. 14(5) May, 1981. pp. 13-22.Google ScholarDigital Library
Index Terms
- Visual programming, programming by example, and program visualization: a taxonomy
Recommendations
Visual programming, programming by example, and program visualization: a taxonomy
Special issue: CHI '86 Conference ProceedingsThere has been a great interest recently in systems that use graphics to aid in the programming, debugging, and understanding of computer programs. The terms “Visual Programming” and “Program Visualization” have been applied to these systems. Also, ...
Taxonomies of visual programming and program visualization
There has been great interest recently in systems that use graphics to aid in the programming, debugging, and understanding of computer systems. The terms 'Visual Programming' and 'Program Visualization' have been applied to these systems. This paper ...
Comments