Title
Concepts And Methodologies For Knowledge-Based Program Understanding - The Alpuss Approach
Abstract
The background concepts and methodologies of the knowledge-based program understander ALPUS is discussed. ALPUS understands user's buggy Pascal programs using four kinds of programming knowledge: the knowledge on algorithms, programming techniques, the Pascal language, and logical bugs. The knowledge on algorithms, the key knowledge, is a form of hierarchical data structure called Procedure Graph (HPG). In HPG each node represents a chunk of operations called ''process,'' which is consisted of sub-processes. The other knowledge is maintained as independent knowledge bases and linked to associated processes of the HPG. The knowledge about bugs acquired by cognitive experiment is grouped into three categories: bugs on algorithms, programming techniques, and the Pascal language, and connected to associated elements of programming knowledge respectively. ALPUS tries to understand user's buggy programs, detects logical bugs, infers user's intentions, and gives advices for fixing bugs. Program understanding is achieved by three steps: normalization, variable identification, and process and technique identification. Normalization results in improving flexibility of understanding. Variable, process and technique identifications are achieved by knowledge-based pattern matching. Intentions are inferred by means of information attached to buggy patterns. The result of comprehension is reported to a user (i.e., student). Experimental results using Quicksort programs written by students show that the HPG formalism is quite powerful in understanding algorithm-oriented programs. The ALPUS's way of program comprehension is useful in the situation of programming education in an intermediate class of an engineering school. The ALPUS system is a subsystem of the intelligent programming environment INTELLITUTOR for learning programming, which was implemented in the frame-based knowledge engineering environment ZERO on a UNIX workstation.
Year
Venue
Keywords
1995
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS
PROGRAM UNDERSTANDING, KNOWLEDGE-BASED SYSTEM, PROGRAMMING KNOWLEDGE, INTELLIGENT PROGRAMMING ENVIRONMENT, PROGRAMMING EDUCATION
Field
DocType
Volume
Procedural programming,Fifth-generation programming language,Programming paradigm,Computer science,Inductive programming,Knowledge-based systems,Knowledge management,Symbolic programming,Programming domain,Programming language theory,Management science
Journal
E78D
Issue
ISSN
Citations 
9
0916-8532
2
PageRank 
References 
Authors
0.42
0
2
Name
Order
Citations
PageRank
H Ueno120.42
Haruki Ueno212918.02