inFusion is an integrated environment for performing in-depth code and architectural reviews of object-oriented and procedural software systems, written in C, Java or C++.
inFusion supports the analysis, diagnosis and quality improvement of your systems at the architectural, as well as at the code level.
inFusion covers all the necessary phases of the analysis process, from model extraction, including scalable parsing for C, C++ and Java, up to high-level metrics-based analyses, detection of code duplication, and intuitive visualizations.
Automatic Detection of more than 20 design flaws like Code Duplication, classes that break encapsulation (Data Class, God Class), methods and classes that are heavily coupled or ill-designed class hierarchies. The detection is based on over 70 object-oriented and procedural metrics, but the great part is that you don't have to interact directly with metrics. Metrics do the job, while you zip directly to the useful conclusions!

Powerful support for architectural assessment. inFusion supports in-depth and insightful assessments of the high-level design (architecture) of your software systems. inFusion supports not only the detection, but also the understanding of the causes of architectural flaws like Cyclic Dependencies, and Unstable Subsystems Dependencies.

Intuitive user interaction. Most of the interaction in inFusion is based on the very simple metaphor of a web browser. You will be able to use inFusion to browse your code and design very similar to the way your navigate on the web. This makes inFusion very easy to learn by every software engineer. Furthermore, inFusion allows you to export any displayed information, as a true HTML report that can be inspected offline in a web browser.

Support for multiple programming languages (C, Java, C++) which allows you to use a single tool (inFusion) to perform code reviews for a large variety of systems that you develop in your company. While inFusion offers a common interface for analyzing systems developed using different programming languages and paradigms, it does adapt its analyses and the presentation of its results to the specificities of each type of system. We are currently working on adding support for the analysis of software systems written in C#.
