DocumentCode
3124898
Title
Program understanding as constraint satisfaction
Author
Woods, Steven ; Yang, Qiang
Author_Institution
Dept. of Comput. Sci., Waterloo Univ., Ont., Canada
fYear
1995
fDate
10-14 Jul 1995
Firstpage
318
Lastpage
327
Abstract
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
Keywords
constraint handling; heuristic programming; high level languages; reverse engineering; search problems; software libraries; constraint satisfaction; heuristic techniques; heuristics; high-level programming language; legacy code; performance evaluation; program plan templates; program understanding; programming language translation; reverse engineering; search algorithms; search efficiency; software reuse; Artificial intelligence; Computer languages; Computer science; Costs; Debugging; Humans; Intelligent agent; Libraries; Logic programming; Software engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer-Aided Software Engineering, 1995. Proceedings., Seventh International Workshop on
Conference_Location
Toronto, Ont.
Print_ISBN
0-8186-7078-9
Type
conf
DOI
10.1109/CASE.1995.465302
Filename
465302
Link To Document