Comparative Analysis of Tools for Automated Software Re-engineering Purposes

Model driven analysis and design are increasingly recognized as powerful methodologies for software development and evolution. Model driven approaches in particular can be also combined with formal methods, offering advantages for verification, analysis, and testing. In order to use model driven methods for re-designing existing software, however, one needs additional facilities to transform the existing source code into adequate models. We examine in this paper a large number of existing tools for the analysis and processing of C/C++ source code, and evaluate them with respect to their usefulness in the model driven development process of software re-design projects. Our goal is to identify tools suitable to convert C or C++ code into a code-level model. Preferably, we want to use existing compilers, adequate system tools or other research and commercial programs to automate the process of deriving code-level models of large software applications.