skip to main content
10.1145/22627.22349acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
Article
Free Access

Visual programming, programming by example, and program visualization: a taxonomy

Authors Info & Claims
Published:01 April 1986Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Borning 79.Alan Borning. Thinglab--A Constraint-Oriented Simulation Laboratory. Xerox Palo Alto Research Center Technical Report SSL-79-3. July, 1979.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Borning 86.Alan Borning. "Defining Constraints Graphically," Human Factors in Computing Systems: Proceedings SIG- CHI'86. Boston, MA. Apr. 13-17, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. Grafton 85.Robert B. GraRon and Tadao Ichikawa, eds. IEEE Computer, Special Issue on Visual Programming. 18(8) Aug. 1985.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jacob 85.Robert J.K. Jacob. "A State Transition Diagram Language for Visual Programming," IEEE Computer. 18(8) Aug. 1985. pp. 51-59.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Lieberman 82.Henry Lieberman. "Constructing Graphical User Interfaces by Example," Graphics Interface'82, Toronto, Ont. Mar. 17-21, 1982. pp. 295-302.Google ScholarGoogle Scholar
  26. London 85.Ralph L. London and Robert A. Druisberg. "Animating Programs in Smalltalk," {EEE Computer. 18(8) Aug. 1985. pp. 61-71.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Moriconi 85.Mark Moriconi and Dwight F. Hare. "Visualizing Program Designs Through PegaSys," IEEE Computer. 18(8) Aug. 1985. pp. 72-85.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. Nassi 73.I. Nassi and B. Shneiderman. "Flowchart Techniques for Structured Programming," SIGPLAN Notices. 8(8) Aug. 1973. pp. 12-26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Oxford 83.Dictionary of Computing. Oxford: Oxford University Press, 1983.Google ScholarGoogle Scholar
  32. 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 ScholarGoogle Scholar
  33. Pietrzykowski 84.T. Pietrzykowski and S. Matwin. PRO- GRAPH: A Preliminary Report. University of Ottawa Technical Report TR-84-07. April, 1984.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarCross RefCross Ref
  35. Raeder 85.Georg Raeder. "A Survey of Current Graphical Programming Techniques," IEEE Computer. 18(8) Aug. 1985. pp. 11-25.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. Shneiderman 83.Ben Shneiderman. "Direct Manipulation: A Step Beyond Programming Languages," IEEE Computer. 16(8) Aug. 1983. pp. 57-69.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Shu 85.Nan C. Shu. ~'FORMAL: A Forms-Oriented Visual- Directed Application Development System," IEEE Computer. 18(8) Aug. 1985. pp. 38-49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Smith 77.David C. Smith. Pygmalion: A Computer Program to Model and Stimulate Creative Thought. Basel, Stuttgart: Birkhauser, 1977.Google ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. Sutherland 63.Ivan E. Sutherland. "SketchPad: A Man- Machine Graphical Communication System," AFIPS Spring Joint Computer Conference. 23 1963. pp. 329-346.Google ScholarGoogle Scholar
  43. Sutherland 66.William R. Sutherland. On.line Graphical Specification of Computer Procedures. MIT PhD Thesis. Lincoln Labs Report TR-405. 1966.Google ScholarGoogle Scholar
  44. Williams 84.Gregg Williams. '~The Apple Macintosh Computer," Byte Magazine. 9(2) February 1984. pp. 30-54.Google ScholarGoogle Scholar
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. Zloof 81.Moshe M. Zloof. "QBE/OBE: A Language for Office and Business Automation," IEEE Computer. 14(5) May, 1981. pp. 13-22.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Visual programming, programming by example, and program visualization: a taxonomy

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                CHI '86: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
                April 1986
                362 pages
                ISBN:0897911806
                DOI:10.1145/22627

                Copyright © 1986 ACM

                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]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 April 1986

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                CHI '86 Paper Acceptance Rate47of122submissions,39%Overall Acceptance Rate6,199of26,314submissions,24%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader