Patent attributes
Techniques are described for assisting users with the process of modernizing software applications from a source software architectural pattern (e.g., a model—view—controller (MVC) pattern, a multitier architecture, etc.) to a target architectural pattern (e.g., microservices, event-driven architecture, etc.). A decomposition analyzer receives as input artifacts associated with a software application under analysis and an architectural pattern that a user desires to use for a modernized version of the software application. The decomposition analyzer generates, based on the application artifacts, a graph-based model of the software application, where the model includes nodes representing application components (e.g., classes) and edges representing dependency relationships among the components. The decomposition analyzer further uses machine learning techniques and other types of analyses to identify recommended groupings of nodes from the graph-based model for decomposition. These recommendations can be displayed to users in a visualization providing decomposition assessment information.