At 306, computer-implemented method 300 can comprise clustering (e.g., via microservice generation system 102, model component 108, cluster component 110, and/or second model component 204) classes of the monolithic application to generate clustering A, B, and/or C as depicted in FIG. 3. For example, to facilitate such clustering of the classes at 306, computer-implemented method 300 can comprise assigning (e.g., via microservice generation system 102, model component 108, cluster component 110, and/or second model component 204) clusters to the classes of the monolithic application to yield clustering A, B, and/or C as depicted in FIG. 3. For instance, as illustrated in FIG. 3 at 306, computer-implemented method 300 can comprise: a) generating and/or applying (e.g., via microservice generation system 102 and/or second model component 204) causal graphs to obtain temporal dependency, yielding clustering A; b) generating and/or applying (e.g., via microservice generation system 102, model component 108, and/or second model component 204) causal graphs to train model component 108 to learn the cluster assignments and/or graph embeddings of the monolithic application (e.g., as described above with reference to FIGS. 1 and 2) to obtain the partition of each class using the causal graphs, thereby yielding clustering B; and/or c) applying (e.g., via microservice generation system 102, model component 108, and/or cluster component 110) the runtime traces generated at 304 as described above to train model component 108 to learn the cluster assignments and/or graph embeddings of the monolithic application (e.g., as described above with reference to FIGS. 1 and 2) to obtain the partition of each class using the runtime traces, thereby yielding clustering C.