This Article 
 Bibliographic References 
 Add to: 
TuringTool: A User Interface to Aid in the Software Maintenance Task
March 1990 (vol. 16 no. 3)
pp. 294-301

TuringTool is a source program viewing and editing system specifically designed to support the software maintenance task. TuringTool bases all of its views of the program on a single comprehensive viewing paradigm borrowed from program development environments: source text elision. It is shown how this paradigm can be used to represent several kinds of views appropriate to the maintenance of large source programs, including structural views and nonstructural views appropriate to the maintenance task and how it can be extended to allow dynamic creation of complex programmer-specified views using simple set theoretic operators to combine the effects of several views into one. The system exploits the highly structured nature of the Turing programming language to allow seamless viewing of programs consisting of many separately compiled source modules as one uniform source.

[1] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A syntax directed programming environment,"Commun. ACM, vol. 24, no. 9, pp. 563-573, Sept. 1981.
[2] S. P. Reiss, "Pecan: Program development systems that support multiple views,"IEEE Trans. Software Eng., vol. SE-11, pp. 276-285, Mar. 1985.
[3] J. M. Morris and M. D. Schwartz, "The design of a language-oriented editor for block-structured languages," inAss. Comput. Mach. SIGPLAN SIGOA Symp. Text Manipulation, Portland, OR, June 1981, pp. 28-33, special issue ofSIGPLAN Notices, vol. 16, no. 6, June 1981.
[4] A.N. Habermann and D. Notkin, "Gandalf: Software development environments,"IEEE Trans. Software Eng., vol. SE-12, pp. 1117-1127, Dec. 1986.
[5] M. Moriconi and D. F. Hare, "PegaSys: A system for graphical explanation of program designs,"SIGPLAN Notices (Proc. ACM SIGPLAN 85 Symp. Language Issues in Programming Environment), vol. 20, no. 7, pp. 148-160, July 1985.
[6] D. Garlan, "Flexible unparsing in a structure editing environment," Dep. Comput. Sci., Carnegie-Mellon Univ., Tech. Rep. CMU-CS- 85-129, Apr. 1985.
[7] R. C. Holt and J. R. Cordy, "The Turing programming language,"Commun. ACM, vol. 31, no. 12, pp. 1410-1423, Dec. 1988.
[8] K. Ottenstein and L. Ottenstein, "The program dependence graph in software development environments,"ACM SIGPLAN Notices, vol. 19, no. 5, pp. 177-184, May 1984; see also,Proc. ACM SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Development Environments.
[9] M. Weiser, "Program slicing,"IEEE Trans. Software Eng., vol. SE- 10, no. 4, pp. 352-357, July 1984.
[10] SunView Programmer's Guide. SUN Microsystems, Feb. 1986.
[11] J. R. Cordy and T. C. N. Graham, "Design of an interpretive environment for Turing,"SIGPLAN Notices (Proc. ACM SIGPLAN 87 Symp. Interpreters and Interpretive Techniques), vol. 22, no. 7, pp. 199-204, July 1987.
[12] C. D. Halpern, "TXL: A rapid prototyping tool for programming language design," M.Sc. thesis, Dep. Comput. Sci., Univ. Toronto, Jan. 1986.
[13] R. C. Holt, J. R. Cordy, and D. B. Wortman, "An introduction to S/SL: Syntax/semantic language,"ACM Trans. Prog. Lang. Syst., vol. 4, no. 2, pp. 149-178, Apr. 1982.
[14] K. A. Schneider, "A system for viewing and editing software abstractions that cross language boundaries," M.Sc. thesis, Queen's Univ., Kingston, Ont., 1989.
[15] M. G. Robertson, "TuringTool-An intelligent program editing and viewing environment," M.Sc. thesis, Dep. Comput. Sci., Univ. Toronto, May 1985.
[16] J. R. Cordy and R. C. Holt, "Specification of Concurrent Euclid (Version I)," Comput. Syst. Res. Inst., Univ. Toronto, Tech. Rep. CSRI-133, Aug. 1981.
[17] Macintosh System Software User's Guide, Version 6.0. Apple Computer Inc., Cupertino, CA 1988.

Index Terms:
user interface; software maintenance task; source program; editing system; TuringTool; single comprehensive viewing paradigm; program development environments; source text elision; large source programs; structural views; nonstructural views; dynamic creation; complex programmer-specified views; simple set theoretic operators; Turing programming language; seamless viewing; separately compiled source modules; uniform source; high level languages; programming environments; software engineering; user interfaces.
J.R. Cordy, N.L. Eliot, M.G. Robertson, "TuringTool: A User Interface to Aid in the Software Maintenance Task," IEEE Transactions on Software Engineering, vol. 16, no. 3, pp. 294-301, March 1990, doi:10.1109/32.48937
Usage of this product signifies your acceptance of the Terms of Use.