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
Quantitative results concerning the utility of explanation-based learning
Artificial Intelligence
Constraint satisfaction algorithms
Computational Intelligence
The programmer's apprentice
Formalizing planning knowledge for hierarchical planning
Computational Intelligence
Automated program recognition: a feasibility demonstration
Artificial Intelligence
A theory of conflict resolution in planning
Artificial Intelligence - Special volume on constraint-based reasoning
A reverse engineering environment based on spatial and visual software interconnection models
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
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
The program understanding problem: analysis and a heuristic approach
Proceedings of the 18th international conference on Software engineering
Constraint-based design recovery for software reengineering: theory and experiments
Constraint-based design recovery for software reengineering: theory and experiments
A Sufficient Condition for Backtrack-Free Search
Journal of the ACM (JACM)
Program plan recognition for year 2000 tools
Science of Computer Programming - Special issue on WCRE 97
Toward A Constraint-Satisfaction Frameworkfor Evaluating Program-Understanding Algorithms
Automated Software Engineering
Applying Plan Recognition Algorithms To Program Understanding
Automated Software Engineering
Localization of Design Concepts in Legacy Systems
ICSM '94 Proceedings of the International Conference on Software Maintenance
Assessing Architectural Complexity
CSMR '98 Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering ( CSMR'98)
DECODE: a cooperative environment for reverse-engineering legacy software
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Some Experiments Toward Understanding How Program Plan Recognition Algorithms Scale
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Toward a Constraint-Satisfaction Framework for Evaluating Program-Understanding Algorithms
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Program Understanding as Constraint Satisfaction
CASE '95 Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering
A method of program understanding using constraint satisfaction for software reverse engineering
A method of program understanding using constraint satisfaction for software reverse engineering
Needles in a haystack: plan recognition in large spatial domains involving multiple agents
AAAI '98/IAAI '98 Proceedings of the fifteenth national/tenth conference on Artificial intelligence/Innovative applications of artificial intelligence
Hi-index | 0.00 |
The process of understanding a source code in ahigh-level programming language involves complex computation. Given a piece of legacy code and a library of programplan templates, understanding the code corresponds to buildingmappings 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, orto assist in the translation of the source into anotherprogramming language. In this paper we present a model of programunderstanding using constraint satisfaction. Within this model weintelligently compose a partial global picture of the sourceprogram code by transforming knowledge about the problem domainand the program itself into sets of constraints. We then systematically study different search algorithms and empiricallyevaluate their performance. One advantage of the constraintsatisfaction model is its generality; many previous attempts inprogram understanding could now be cast under the same spectrum ofheuristics, and thus be readily compared. Another advantage is the improvement in search efficiency using various heuristictechniques in constraint satisfaction.