Title :
YAAB (Yet another AST browser): using OCL to navigate ASTs
Author :
Antoniol, G. ; Di Penta, M. ; Merlo, E.
Author_Institution :
RCOST, Univ. of Sannio, Benevento, Italy
Abstract :
In the last decades several tools and environments defined and introduced languages for querying, navigating and transforming abstract syntax trees. These environments were meant to support software maintenance, reengineering and program comprehension activities. Instead of introducing a new language, this paper proposes to adopt the Object Constraint Language (OCL) to express queries over an object model representing the abstract syntax tree of the code to be analyzed. OCL is part of the UML lingua franca and thus several advantages can be readily obtained. Central to the idea is to shift the analysis paradigm from a tree-based to an object-oriented paradigm, and to provide a meta-model decoupling the query language from the target language. This paper presents the current status in implementing an OCL interpreter with the ability of querying an object model representing the abstract syntax tree, as well as some interesting applications, such as extracting software metrics or computing clones.
Keywords :
computational linguistics; object-oriented programming; software maintenance; software metrics; OCL interpreter; UML lingua franca; abstract syntax trees; computing clones; object constraint language; object-oriented paradigm; program comprehension; query language; software maintenance; software metrics; software reengineering; Computer languages; Database languages; Documentation; Navigation; Object oriented modeling; Reverse engineering; Software maintenance; Software systems; Software tools; Unified modeling language;
Conference_Titel :
Program Comprehension, 2003. 11th IEEE International Workshop on
Print_ISBN :
0-7695-1883-4
DOI :
10.1109/WPC.2003.1199185