B. Caprile, A. Potrich, F. Ricca, and P. Tonella,
Model Centered Interoperability for Source Code Analysis
Abstract
Source code analysis would greatly benefit from interoperability. Existing
tools reimplement functionalities available elsewhere, because it is not
easy to import the results of a given source code processing from another
tool. Ideally, if all source analysis modules were able to exchange
information with each other, a new tool could be obtained by composition of
existing functions (e.g., a parsing module, a type inference module, etc.)
and adding only the implementation of the new analysis method.
While standards are emerging which define exchange formats for reverse
engineering tools, it is not clear what source code models should be
represented using these formats. It is the authors' position that the
formalization of agreed and well understood models is a necessary
precondition to achieve interoperability. Only when different analyses share
a same view of the source code, in which the same information items are
represented, it becomes possible to make them communicate with each other.
This paper investigates the available models in source code analysis, their
overlaps, and their dimensions of variability.
Postscript version of the paper.