Applying Plan Recognition Algorithms to Program Understanding

Steven Woods and Alex Quilici and Qiang Yang.

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.

Awards, Comments

This paper was one of three nominated for consideration as best paper at KBSE 1996.

Copyright Notice

Copyright 1996 IEEE. Published in the Proceedings of the Eleventh IEEE Knowledge-Based Software Engineering Conference (KBSE-96), September, 1996, Syracuse, New York, USA. 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 IEEE.

The Paper