Component types qualification in Java legacy code driven by communication integrity rules
Résumé
To fight software architectural erosion, new languages and development methods are proposed that make explicit the architectural decisions in the source code for the benefit of the programmers. Component Based Software Engineering is a way to improve software modularization and to embed architectural concerns. To restructure legacy code with components in mind we need tools to asses the compliance with component programming principles. The communication integrity property is one of the major principles to implement software architectures. However, there is a lack of tooling for assessing the quality of components codes. To cope with this issue, we define a component model in Java and a tool for identifying component types. The tool relies on a set of rules to statically check potential violations of the communication integrity property in Java source code. We illustrate its application on a case study and report the results of our experiments with the tool.