This Article 
 Bibliographic References 
 Add to: 
A Debugger for Ada Tasking
March 1989 (vol. 15 no. 3)
pp. 293-304

The capabilities needed in an Ada debugger are discussed in light of the language's tasking constructs, and the design for a debugger is presented which operates in concert with a single-processor Ada interpreter. This debugger design demonstrates the extensions to sequential debugging techniques that are necessary to handle concurrency, and shows that significant debugging functionality can be provided even without the inclusion of automatic error diagnosis methods. The issues considered include isolation of effects and display of the full dynamic execution status, both of which are essential to diagnosis of concurrent programs.

[1] P. Brinch Hansen, "Reproducible testing of monitors,"Software-- Practice and Experience, vol. 8, no. 6, pp. 721-729, 1978.
[2] J. C. Weber, "Interactive debugging of concurrent programs [extended abstract," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. High-Level Debugging: SIGPLAN Notices, vol. 18, no. 8, pp. 112-113, 1983.
[3] F. Baiardi, N. DeFrancesco, and E. Matteoli, "Development of a debugger for a concurrent language," inProc. ACM SIGSOFT-SIGPLAN Software Eng. Symp. High Level Debugging, Asilomar, CA, Mar. 1983, pp. 6-22.
[4] R. N. Taylor, "A general purpose algorithm for analyzing concurrent programs,"Commun. ACM, vol. 26, no. 5, pp. 362-376, May 1983.
[5] C. H. LeDoux and D. S. Parker, Jr., "Saving traces for Ada debugging," inProc. Ada Int. Conf., Paris, France, 1985, pp. 97-108.
[6] D. Helmbold and D. Luckham, "Debugging Ada tasking programs,"Computer, vol. 18, no. 3, pp. 47-57, 1985.
[7] R. A. Conti, "Debugging Aria tasking programs," inProc. Annu. Nat. Conf. Ada Technology, 1985, pp. 72-81.
[8] T. A. Standish and R. N. Taylor, "Arcturus: A prototype advanced Ada programming environment," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Apr. 1984, pp. 57-64.
[9] A. F. Brindle, D. F. Martin, R. N. Taylor, and L. R. Jansen, "A model for the run-time processing of Ada tasking," Aerospace Corp., Tech. Rep. ATR-84(8233)-2, 1984.
[10] A. F. Brindle, R. N. Taylor, and D. F. Martin, "A debugger for Ada tasking," Aerospace Corp., Tech. Rep. ATR-85(8033)-1, 1985.
[11] Ada Programming Language Reference Manual, Ada Joint Program Office, ANSI/MIL-STD-1815A-1983.
[12] R. Medina-Mora and P. H. Feiler, "An incremental programming environment,"IEEE Trans. Software Eng., vol. SE-7, no. 5, pp. 472-482, 1981.
[13] R. N. Taylor, "Debugging real-time software in a host-target environment,"Technique et Science Informatiques (Technology and Science of Informatics), vol. 3, no. 4, pp. 281-288, 1984.
[14] M. Boari, S. Crespi-Reghizzi, A. Dapra, F. Maderna, and A. Natali, "Multiple-microprocessor programming techniques: MML, a new set of tools,"Computer, vol. 17, no. 1, pp. 47-59, 1984.
[15] B. A. Myers, "Incense: A system for displaying data structures,"Comput. Graphics, vol. 17, no. 3, pp. 115-125, July 1983.
[16] W. Teitelman,Interlisp Reference Manual, Xerox Palo Alto Research Center, 1978.
[17] J. A. Rees, N. I. Adams, and J. R. Meehan,The T Manual, 4th ed., Yale Univ., 1984.
[18] User's Guide to Symbolics Computers, Symbolics, Inc., Release 6.0 ed., 1985.
[19] M.S. Johnson,The Design and Implementation of a Runtime Analysis and Interactive Debugging Environment, PhD dissertation, Univ. of British Columbia, Vancouver, B.C., Canada, Aug. 1978.
[20] R. E. Griswold, J. F. Poage, and I. P. Polonsky,The Snobol4 Programming Language, 2nd ed., Bell Telephone Labs., 1971.
[21] VADS Reference Manual: a.db, Verdix Corp., Release V04.06 ed., 1985.
[22] Developing Ada Programs on VAX/VMS, Digital Equipment Corp., V1.0 ed., 1984.
[23] W. Teitelman, "A tour through Cedar," inProc. 7th Int. Conf. Software Engineering, IEEE Computer Society, Mar. 1984.
[24] J. B. Johnston, "The contour model of block-structured processes," inProc. Symp. Data Structures and Programming Languages: SIGPLAN Notices, vol. 6, no. 2, pp. 55-82, 1971.

Index Terms:
parallel programming; Ada tasking; Ada debugger; tasking constructs; single-processor Ada interpreter; sequential debugging; concurrency; dynamic execution status; Ada; parallel programming; program debugging; program interpreters.
A.F. Brindle, R.N. Taylor, D.F. Martin, "A Debugger for Ada Tasking," IEEE Transactions on Software Engineering, vol. 15, no. 3, pp. 293-304, March 1989, doi:10.1109/32.21757
Usage of this product signifies your acceptance of the Terms of Use.