Patent attributes
Techniques are described for using graph partitioning techniques to identify refactoring candidates to decompose monolithic software applications as part of software modernization processes. An application modernization system constructs a graph model of a software application based on an analysis of application artifacts associated with the software application. The graph model includes nodes each representing an independent application component and further includes edges representing identified dependency relationships among the application components. An application modernization system further generates application profile metrics associated with the identified dependencies, and weights derived from such metrics are applied to the edges of the graph model. Once a weighted graph model is obtained, a graph partitioning algorithm is applied to identify a plurality of subgraphs each representing a candidate subunit of the application for refactoring.