The search functionality is under construction.
The search functionality is under construction.

A Generalized Knowledge-Based Approach to Comprehend Pascal and C Programs

Haruki UENO

  • Full Text Views

    0

  • Cite this

Summary :

Knowledge-based program understanding is widely known as one of the key issues in programming education support systems and environments for novices. Most program understanders, however, have limitations. One of them is an ability to deal with a single programming language, while human tutors can comprehend plural languages by means of generalized knowledge on programming languages and techniques. This paper proposes the concepts and methodology of the knowledge-based program understander ALPUS II, which deals with plural programming languages, i. e. , Pascal and C, by means of generalized abstract syntax AL and knowledge representations based on it. ALPUS II is an extension of ALPUS, which dealt with a single programming language Pascal, and is a sub-system of an intelligent programming environment INTELLITUTOR. The INTELLITUTOR system consists of a guided programming editor GUIDE and a knowledge-based program understander ALPUS II, and is available on the Internet. In the process of comprehension source statements written in Pascal or C are translated into AL representation first. Since the contents of the programming knowledge bases are adjusted to deal with the AL representations the program comprehension procedure is available for both Pascal and C. It is possible to append other programming languages by simply attaching a transformation module for each additional procedural language. It is noted that knowledge acquisition tasks for additional languages are not needed since the contents of the knowledge base are generalized for multiple use. The INTELLITUTOR system was implemented in the frame-based knowledge engineering environment ZERO on a UNIX server machine in the Internet environment. ALPUS II demonstrates interesting features in program comprehension for the C language by means of the transformed knowledge from the already available knowledge for Pascal, which was developed for ALPUS, in a feasibility study. The current version of ALPUS II supports almost full specifications for Pascal and a Pascal-associated subset for C. This limitation should be reasonable for programming practice at freshmen classes of a university.

Publication
IEICE TRANSACTIONS on Information Vol.E83-D No.4 pp.591-598
Publication Date
2000/04/25
Publicized
Online ISSN
DOI
Type of Manuscript
Special Section PAPER (Special Issue on Knowledge-Based Software Engineering)
Category
Theory and Methodology

Authors

Keyword