Patent attributes
Techniques are described for enabling an application modernization system to identify a recommended modernized software application architecture for a software application undergoing software modernization processes. An application modernization service enables the identification of subunits of the software application, where each subunit represents a defined subset of the software application's source code that can be implemented as an independent software application unit. The application modernization tools further enable the collection and generation of application profile data describing dependencies among the identified subunits and static and dynamic performance information for the subunits. An application modernization service provides an application programming interface (API) that enables users and applications to request the identification of a recommended software application architecture based on input identifying a software application's subunits, application profile data describing characteristics of the subunits, and a knowledgebase defining the features and constraints associated with each of any number of candidate software application architectures.