Arc and path consistence revisited
Artificial Intelligence
Modeling the user's plans and goals
Computational Linguistics - Special issue on user modeling
An optimal k-consistency algorithm
Artificial Intelligence
Constraint satisfaction algorithms
Computational Intelligence
The programmer's apprentice
Automated program recognition: a feasibility demonstration
Artificial Intelligence
A generic arc-consistency algorithm and its specializations
Artificial Intelligence
Automated program recognition by graph parsing
Automated program recognition by graph parsing
A memory-based approach to recognizing programming plans
Communications of the ACM
A Sufficient Condition for Backtrack-Free Search
Journal of the ACM (JACM)
Content-based retrieval of FlashTM movies: research issues, generic framework, and future directions
Multimedia Tools and Applications
Hi-index | 0.00 |
The process of understanding a source code in a high-level programming language involves complex computation. Given a piece of legacy code and a library of program plan templates, understanding the code corresponds to building mappings from parts of the source code to particular program plans. These mappings could be used to assist an expert in reverse engineering legacy code, to facilitate software reuse, or to assist in the translation of the source into another programming language. In this paper, we present a model of program understanding using constraint satisfaction. Within this model, we intelligently compose a partial global picture of the source program code by transforming knowledge about the problem domain and the program itself into sets of constraints. We then systematically study different search algorithms and empirically evaluate their performance. One advantage of the constraint satisfaction model is its generality; many previous attempts in program understanding could now be cast under the same spectrum of heuristics, and thus be readily compared. Another advantage is the improvement in search efficiency using various heuristic techniques in constraint satisfaction.