Patent Document ID: 9323520
Application ID: 14504194

Base Claim:
1. A method for component discovery from source code, the method performed by a processor and comprising: receiving source code; determining business classes by excluding packages and classes in the source code; extracting features from the business classes; estimating similarity for business class pairs based on the extracted features by determining textual similarity by using a co-occurrence matrix that is defined as a sequence of the business classes in the source code and a sequence of unique intermediate representation (IR) tokens occurring across the business classes, and evaluating, for the co-occurrence matrix, a frequency of occurrence of an IR token from the IR tokens occurring in a particular business class of the business classes; clustering the business classes based on the similarity, wherein clusters generated by the clustering represent components of the source code; and determining interfaces for the components based on the clustering.

---

Claim 7:
7. The method of claim 1 , wherein clustering the business classes based on the similarity further comprises: generating a set of seed clusters by using edges between business class pairs with non-zero inheritance and interface realization similarity, wherein the edges represent the similarity for the business class pairs.