Archimetrix combines clustering and pattern detection techniques to recover the architecture of a software system from source code. While the clustering can extract a software architecture based on source code metrics, the pattern detection is used to detect bad smells in the architecture. Once those bad smells are removed, the clustering can be used again, to get a clearer view of the now improved software architecture.

Archimetrix currently offers the following features:

  • Analysis of Java code
  • Recovery of a component-based architecture from the code
  • Detection of components that are relevant for a deficiency detection
  • Detection of design deficiencies
  • Ranking of design deficiencies by their negative impact of the recovered architecture
  • Recommendation and automated execution of reengineering strategies to remove design deficiencies
  • Prediction of the influence of selected reengineering strategies on the architecture.