This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Abstraction Mechanisms for Event Control in Program Debugging
July 1989 (vol. 15 no. 7)
pp. 890-901

In the event-action model of interactions between the debugging system and the program being debugged, an event will occur on the evaluation of a conditional defined in terms of the program activity if the evaluation yields the value true, and an action is an operation performed by the debugging system on the occurrence of an event. This paper presents a set of mechanisms for expressing conditionals at different levels of abstraction. At the lowest level, the authors have the simple conditionals, which can be expressed in terms of the values of the program entities and of the execution of the program statements. Simple conditionals can be grouped to form higher-level compound conditionals, which can be expressed in terms of the state and flow histories. The paper shows that the proposed abstraction mechanisms are powerful tools for monitoring program activity. They adequately support different debugging techniques, and offer the user a considerable degree of control over the debugging experiment.

[1] D. Abramson and J. Rosenberg, "Hardware support for program debuggers in a paged virtual memory,"Comput. Architecture News, vol. 11, no. 2, pp. 8-19, June 1983.
[2] G. R. Andrews and F. B. Schneider, "Concepts and notations for concurrent programming,"ACM Comput. Surveys, vol. 15, no. 1, pp. 3-43, Mar. 1983.
[3] P. Bates and J. C. Wileden, "An approach to high-level debugging of distributed systems," inProc. ACM SIGSOFT/SIGPLAN Symp. High-Level Debugging, Asilomar, CA, Mar. 1983, pp. 23-32.
[4] B. Beander, "VAX DEBUG: An interactive, symbolic, multilingual debugger," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. High Level Debugging, Pacific Grove, CA, Mar. 1983; inSIGPLAN Notices, vol. 18, no. 8, pp. 173-179, Aug. 1983.
[5] H. K. Berg and M. G. Smith, "A distributed system experimentation facility," inProc. Third Int. Conf. Distributed Computing Systems, Miami, FL, Oct. 1982, pp. 324-329.
[6] D. Bhatt and M. Schroeder, "A comprehensive approach to instrumentation for experimentation in a distributed computing environment," inProc. Third Int. Conf. Distributed Computing Systems, Miami, FL, Oct. 1982, pp. 330-340.
[7] A. R. Brown and W. A. Sampson,Program Debugging. New York: MacDonald/American Elsevier, 1973.
[8] B. Bruegge and P. Hibbard, "Generalized Path Expressions: A High-Level Debugging Mechanism,"Proc. ACM/SIGPlan Software Eng. Symp. High-Level Debugging, ACM Press, New York, Order No. 593830, 1983, pp. 34-44.
[9] R. P. Case and A. Padegs, "Architecture of the IBM System/370,"Commun. ACM, vol. 21, no. 1, pp. 73-96, Jan. 1978.
[10] B. Elliot, "A high-level debugger for PL/I, Fortran and Basic,"Software--Practice and Exp., vol. 12, no. 4, pp. 331-340, 1982.
[11] E. A. Feustel, "On the advantages of tagged architecture,"IEEE Trans. Comput., vol. C-22, no. 7, pp. 644-656, July 1973.
[12] J. Gait, "A debugger for concurrent programs,"Software--Practice and Exp., vol. 15, no. 6, pp. 539-554, June 1985.
[13] J. Gait, "A probe effect in concurrent programs,"Software-Practice and Experience, vol. 16, no. 3, pp. 225-233, Mar. 1986.
[14] M. E. Garcia and W. J. Berman, "An approach to concurrent systems debugging," inProc. Fifth Int. Conf. Distributed Computing Systems, Denver, CO, May 1985, pp. 507-514.
[15] H. Garcia-Molina, F. Germano, and W. H. Kohler, "Debugging a distributed computing system,"IEEE Trans. Software Eng., vol. SE-10, no. 2, pp. 210-219, Mar. 1984.
[16] C. Ghezzi and M. Jazayeri,Programming Language Concepts. New York: Wiley, 1987.
[17] G. W. Gerrity, "Hardware detection of undefined references,"Comput. Architecture News, vol. 8, no. 2, pp. 8-11, Mar. 1980.
[18] M. Gondzio, "Microprocessor debugging techniques and their application in debugger design,"Software--Practice and Exp., vol. 17, no. 3, pp. 215-226, Mar. 1987.
[19] D. D. Hill, "A hardware mechanism for supporting range checks,"Comput. Architecture News, vol. 9, no. 4, pp. 15-21, June 1981.
[20] D. Holdsworth, "A system for analyzing Ada programs at run-time,"Software--Practice and Exp., vol. 13, no. 5, pp. 407-421, May 1983.
[21] M. S. Johnson, "Some requirements for architectural support of software debugging," inProc. Symp. Architectural Support for Programming Languages and Operating Systems, Palo Alto, CA, Mar. 1982: inSIGPLAN Notices, vol. 17, no. 4, pp. 140-148, Apr. 1982.
[22] J. D. Johnson and G. W. Kenney, "Implementation issues for a source level symbolic debugger," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. High Level Debugging, Pacific Grove, CA, Mar. 1983; inSIGPLAN Notices, vol. 18, no. 8, pp. 149-151, Aug. 1983.
[23] S. Lauesen, "Debugging techniques,"Software--Practice and Exp., vol. 9, no. 1, pp. 51-63, Jan. 1979.
[24] B. Lazzerini, L. Lopriore, and C.A. Prete, "A Programmable Debugging Aid for Real-Time Software Development,"IEEE Micro, Vol. 6, No. 3, June 1986, pp. 34-42.
[25] R. J. LeBlanc and A. D. Robbins, "Event-driven monitoring of distributed programs," inProc. Fifth Int. Conf. Distributed Computing Systems, Denver, CO, May 1985, pp. 515-522.
[26] H. M. Levy,Capability-Based Computer Systems. Digital Press, 1984.
[27] L. Lopriore, "Capability based tagged architectures,"IEEE Trans. Comput., vol. C-33, no. 9, pp. 786-803, Sept. 1984.
[28] R. E. McLear, D. M. Scheibelhut, and E. Tammaru, "Guidelines for creating a debuggable processor," inProc. Symp. Architectural Support for Programming Languages and Operating Systems, Palo Alto, CA, Mar. 1982; inSIGPLAN Notices, vol. 17, no. 4, pp. 100-106, Apr. 1982.
[29] G. J. Myers,The Art of Software Testing. New York: Wiley, 1979.
[30] G.J. Myers,Advances in Computer Architecture, 2nd Ed., John Wiley&Sons, 1982, 545 pp.
[31] R. Seider and N. Tindall, "Interactive debug requirements," inProc. SIGSOFT/SIGPLAN Software Eng. Symp. High-Level Debugging, Aug. 1983, pp. 9-22.
[32] M. L. Shooman,Software Engineering. New York: McGraw-Hill, 1983.
[33] J. L. Steffen, "Experience with a portable debugging tool,"Software--Practice and Exp., vol. 14, no. 4, pp. 323-334, Apr. 1984.
[34] J. Tremblay and P. G. Sorenson,An Introduction to Data Structures with Applications. New York: McGraw-Hill, 1984.
[35] F. van der Linden and I. Wilson, "An interactive debugging environment,"IEEE Micro, vol. 5, no. 4, pp. 18-31, Aug. 1985.

Index Terms:
abstraction mechanisms; event control; program debugging; conditionals; program entities; program statements; monitoring; data structures; program debugginga
Citation:
B. Lazzerini, L. Lopriore, "Abstraction Mechanisms for Event Control in Program Debugging," IEEE Transactions on Software Engineering, vol. 15, no. 7, pp. 890-901, July 1989, doi:10.1109/32.29488
Usage of this product signifies your acceptance of the Terms of Use.