Applying Plan Recognition Algorithms
To Program Understanding
Steven Woods and
Qiang Yang and
Alex Quilici.
An earlier version of this paper appeared in
the Proceedings of the Eleventh IEEE Knowledge-Based Software Engineering
Conference (KBSE-96).
Abstract
Program understanding is often viewed as the task of extracting plans and
design goals from program source. As such, it is natural to try to apply
standard AI plan recognition techniques to the program understanding problem.
Yet program understanding researchers have quietly, but consistently, avoided
the use of these plan recognition algorithms. This paper shows that treating
program understanding as plan recognition is too simplistic and that
traditional AI search algorithms for plan recognition are not suitable, as is,
for program understanding. In particular, we show (1) that the program
understanding task differs significantly from the typical general plan
recognition task along several key dimensions, (2) that the program
understanding task has particular properties that make it particularly amenable
to constraint satisfaction techniques, and (3) that augmenting AI plan
recognition algorithms with these techniques can lead to effective solutions
for the program understanding problem.
Copyright Notice
Article unpublished, currently under review by Kluwer Academic Publishers for the Journal of Automated Software Engineering. Personal use of this material is permitted. However, permission to
reprint/republish this material for advertising or promotional purposes or for
creating new collective works for resale or redistribution to servers or lists,
or to reuse any copyrighted component of this work in other works, must be
obtained from the authors.
The Paper (28 pages)