A computer-implemented technique for analysis of software, is carried out using a semantic intensity calculation module, a coupling calculation module, and a software decomposition module. Software elements are identified in a computer program code, and respective roles of the software elements established. With the semantic intensity calculation module respective semantic intensity metrics are calculated for the software elements according to the roles thereof. With the coupling calculation module semantic intensity metrics are calculated to determine coupling factors between different software elements. With the software decomposition module the software elements are organized into distinct software components according to the coupling factors therebetween. Then, an optimized computer program code is generated from the software components.
Legal claims defining the scope of protection, as filed with the USPTO.
2. The method according to claim 1 , wherein calculating respective semantic intensity metrics comprises assigning respective weights to the roles, and for each one of the software elements determining a sum of products of the roles of the one software element and the respective weights thereof.
3. The method according to claim 1 , wherein organizing the software elements comprises assigning pairs of the software elements to a common software component when the coupling factor therebetween exceeds a predetermined threshold.
4. The method according to claim 1 , wherein preparing the optimized computer program source code comprises: detecting complex code segments wherein at least a portion of the semantic intensity metrics thereof exceed a predetermined threshold; and defining simplified code segments within the complex code segments.
5. The method according to claim 1 , wherein the distinct software components form a project, the method further comprising the steps of: identifying a set of distinct software components that include semantically coupled software elements; modifying at least a portion of the semantically coupled software elements; and thereafter constructing the project by rebuilding only the set of distinct software components.
7. The method according to claim 6 , wherein calculating respective semantic intensity metrics comprises assigning respective weights to the roles, and for each one of the software elements determining a sum of products of the roles of the one software element and the respective weights thereof.
8. The method according to claim 6 , wherein organizing the software elements comprises assigning pairs of the software elements to a common software component when the coupling factor therebetween exceeds a predetermined threshold.
9. The method according to claim 6 , wherein preparing the optimized computer program source code comprises: detecting complex code segments wherein at least a portion of the semantic intensity metrics thereof exceed a predetermined threshold; and simplifying the complex code segments.
11. The computer software product according to claim 10 , wherein calculating respective semantic intensity metrics comprises assigning respective weights to the roles, and for each one of the software elements determining a sum of products of the roles of the one software element and the respective weights thereof.
12. The computer software product according to claim 10 , wherein organizing the software elements comprises assigning pairs of the software elements to a common software component when the coupling factor therebetween exceeds a predetermined threshold.
13. The computer software product according to claim 10 , wherein preparing the optimized computer program source code comprises: detecting complex code segments wherein at least a portion of the semantic intensity metrics thereof exceed a predetermined threshold; and simplifying the complex code segments.
15. The data processing system according to claim 14 , wherein calculating respective semantic intensity metrics comprises assigning respective weights to the roles, and for each one of the software elements determining a sum of products of the roles of the one software element and the respective weights thereof.
16. The data processing system according to claim 14 , wherein organizing the software elements comprises assigning pairs of the software elements to a common software component when the coupling factor therebetween exceeds a predetermined threshold.
17. The data processing system according to claim 14 , wherein preparing the optimized computer program source code comprises: detecting complex code segments wherein at least a portion of the semantic intensity metrics thereof exceed a predetermined threshold; and simplifying the complex code segments.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 23, 2009
July 1, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.