A language processing tool for program comprehension

Program Comprehension is a Software Engineering discipline which aims to understand computer code written in a high-level programming language. Program Comprehension is useful for reuse, inspection, maintenance, reverse engineering and many other activities in the context of Software Engineering. In...

Full description

Bibliographic Details
Main Author: Berón, Mario (author)
Other Authors: Henriques, Pedro Rangel (author), Pereira, Maria João (author), Uzal, Roberto (author), Montejano, Germán (author)
Format: conferenceObject
Language:eng
eng
Published: 2008
Subjects:
Online Access:http://hdl.handle.net/10198/584
Country:Portugal
Oai:oai:bibliotecadigital.ipb.pt:10198/584
Description
Summary:Program Comprehension is a Software Engineering discipline which aims to understand computer code written in a high-level programming language. Program Comprehension is useful for reuse, inspection, maintenance, reverse engineering and many other activities in the context of Software Engineering. In this paper we define a set of techniques to extract static and dynamic information from the target program. These techniques are based on the inclusion of inspection functions and control statements in the system’s source code. The first are intended to show the functions actually used. The second are necessary to reduce the number of functions recovered for a better administration. We show a possible implementation of this approach using a language processor generator very useful and easy to use. Our strong motivation was to support the understanding of routing algorithms, available in EAR a routing algorithms evaluation system. To assist the program comprehension task, we generate different views that use the information extracted by our strategy, such as the routing algorithm output (that can be seen as a problem domain view), or the sequence of called functions, and their source and object code (examples of program domain views). Although specific, we intend to generalize this approach.