ABSTRACT
Support for program understanding in development and maintenance tasks can be facilitated by program analysis techniques. Both control-flow and data-flow analysis can support program comprehension by augmenting the program text with additional information that may either be displayed with the program or used to allow more sophisticated navigation of the program, e.g., from an identifier's use to its definition.This paper outlines the addition of generic program analysis support to a generic, language-based, software development environment. The analysis tools are implemented in two phases: a language-dependent phase that extracts basic information from a program, such as its control flow graph; and a language-independent phase that performs a more sophisticated analysis of the basic information. This separation allows program analysis tools to be easily generated for a new language.
References
- Buxton, J. (1980), DoD requirements for Ada programming support enviroments, STONEMAN, Technical Report AD-A100 404, US Department of Defense. Available from http://www.adahome.com/History/Stoneman, Accessed August 2003.Google Scholar
- Cook, P. & Welsh, J. (2001), 'Incremental parsing in language-based editors: User needs and how to meet them.', Software - Pratice and Experience31(15), 1461--1468. Google Scholar
Digital Library
- Cook, P., Welsh, J. & Hayes, I. (2002), Incremental context-sensitive evaluation in context, Technical Report 02--11, Software Verification Research Centre (SVRC), School of Information Technology, The University of Queensland, Brisbane, Australia.Google Scholar
- Gerber, A., Glynn, E., Lawley, M., MacDonald, A. & Raymond, K. (2004), Knowledge Discovery MetaModel - Initial Submission, OMG Submission admtf/04-04-01, Object Management Group.Google Scholar
- Grundon, S., Hayes, I. & Fidge, C. (1998), Timing constraint analysis, in C. McDonald, ed., 'Proceedings 21st Australasian Computer Science Conference', pp. 575--586.Google Scholar
- Hecht, M. S. (1977), Flow Analysis of Computer Programs, The Computer Science Library: Programming Language Series, Elsevier North-Holland. Google Scholar
Digital Library
- Howden, W. (1982), 'Comtemporary software development environments', Communications of the ACM25(3), 318--329. Google Scholar
Digital Library
- Jarrott, D. & MacDonald, A. (2003), Developing relational navigation to effectively understand software, in 'Proceedings of the Tenth Asia-Pacific Software Engineering Conference (APSEC'03)', IEEE Computer Society, pp. 144--153. Google Scholar
Digital Library
- Jones, T. & Welsh, J. (1997), Requirements for a generic, language-based diagram editor, in M. Patel, ed., 'Proceedings of 20th Australian Computer Science Conference', Vol. 19, pp. 316--325.Google Scholar
- Knuth, D. (1968), 'Semantics of context-free languages', Math. Systems Theory2(2), 127--145.Google Scholar
- MacDonald, A. & Welsh, J. (1999), Persistence in the UQ* environment, Technical Report 99--43, Software Verification and Research Centre, School of Information Technology and Electrical Engineering, The University of Queensland, Brisbane, Australia.Google Scholar
- Muchnick, S. (1997), Advanced compiler design and implementation, Morgan Kaufmann Publishers. Google Scholar
Digital Library
- Object Managment Group ADM Taskforce (2003), Request for Proposal - Architecure-Driven Modernization (ADM): Knowledge Discovery Meta-Model (KDM), OMG RFP lt/03-11-04, Object Management Group.Google Scholar
- Reiss, S. (1990), 'Connecting tools using message passing in the Field environment', IEEE Software7(4), 57--66. Google Scholar
Digital Library
- Rugaber, S. (1995), 'Program comprehension', Encyclopedia of Computer Science and Technology35(20), 341--368.Google Scholar
- Tip, F. (1995), 'A survey of program slicing techniques', Journal of Programming Languages3, 121--189.Google Scholar
- Toleman, M., Carrington, D., Cook, P., Coyle, A., Jones, T., MacDonald, A. & Welsh, J. (2001), Generic description of a software document environment, in R. H. Sprague, ed., 'Proceedings of the 34th Annual Hawaii International Conference on System Sciences', IEEE Computer Society. Also found in SVRC Technical Report 00-22. Google Scholar
Digital Library
- Welsh, J. (1994), Software is history!, in A. W. Roscoe, ed., 'A Classical Mind: Essays in honour of C. A. R. Hoare', Prentice Hall, chapter 24, pp. 419--430. Google Scholar
Digital Library
- Welsh, J., Broom, B. & Kiong, D. (1991), 'A design rationale for a language-based editor', Software - Practice and Experience21(9), 923--948. Google Scholar
Digital Library
- Welsh, J. & Yang, Y. (1994), 'Integration of semantic tools into document editors', Software - Concepts and Tools15, 68--81.Google Scholar
- Wirth, N. (1976), Algorithms + Data Structures = Programs, Prentice-Hall. Google Scholar
Digital Library
Index Terms
Integration of generic program analysis tools into a software development environment




Comments