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 5:
5. The method of claim 1 , wherein estimating similarity for business class pairs based on the extracted features further comprises: including a class name in an inheritance and interface realization list for a current business class; including names of other business classes in the inheritance and interface realization list that have the class name of the current business class in inheritance and interface realization lists of the other business classes; and determining inheritance and interface realization based similarity for the business class pairs based on evaluation of the inheritance and interface realization list for the current business class and an inheritance and interface realization list for the other business classes.