B. Caprile, A. Potrich, F. Ricca, and P. Tonella,

Model Centered Interoperability for Source Code Analysis


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.