Semantic Intensity Based Decomposition of Software Systems
First Claim
1. A computer-implemented method for analysis of software, comprising the steps of:
- providing a computer system, wherein the system comprises distinct software modules embodied on a computer-readable medium, the distinct software modules comprising at least a semantic intensity calculation module, a coupling calculation module, and a software decomposition module;
identifying software elements in a computer program code;
establishing respective roles of the software elements in the program code;
with the semantic intensity calculation module calculating respective semantic intensity metrics for the software elements according to the roles scopes thereof;
with the coupling calculation module correlating the semantic intensity metrics of the software elements to determine coupling factors between different ones of the software elements;
with the software decomposition module organizing the software elements into an arrangement of distinct software components according to the coupling factors therebetween;
preparing an optimized computer program code responsively to the arrangement; and
writing the optimized computer program code as computer-readable instructions onto a tangible medium.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
19 Citations
21 Claims
-
1. A computer-implemented method for analysis of software, comprising the steps of:
-
providing a computer system, wherein the system comprises distinct software modules embodied on a computer-readable medium, the distinct software modules comprising at least a semantic intensity calculation module, a coupling calculation module, and a software decomposition module; identifying software elements in a computer program code; establishing respective roles of the software elements in the program code; with the semantic intensity calculation module calculating respective semantic intensity metrics for the software elements according to the roles scopes thereof; with the coupling calculation module correlating the semantic intensity metrics of the software elements to determine coupling factors between different ones of the software elements; with the software decomposition module organizing the software elements into an arrangement of distinct software components according to the coupling factors therebetween; preparing an optimized computer program code responsively to the arrangement; and writing the optimized computer program code as computer-readable instructions onto a tangible medium. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for configuring a computer-readable medium comprising:
-
forming transitions in a first tangible computer-readable medium, the transitions comprising digital patterns that are interpretable by a first computer as first instructions, which first instructions, when executed by the first computer, cause the first computer to perform a method of software analysis by; identifying software elements in a computer program code; establishing respective roles for the software elements in the program code; calculating respective semantic intensity metrics for the software elements according to the roles thereof, correlating the semantic intensity metrics of the software elements to determine coupling factors between different ones of the software elements, and organizing the software elements into an arrangement of distinct software components according to the coupling factors therebetween; responsively to the arrangement preparing an optimized computer program code comprising second instructions that are executable by a second computer; and writing the second instructions onto a second tangible computer-readable medium. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer software product for analysis of software, including a computer storage medium in which computer program instructions are stored, which instructions are organized as distinct software modules, the distinct software modules comprising at least a semantic intensity calculation module, a coupling calculation module, and a software decomposition module;
-
and when executed by a computer, cause the computer to perform the steps of; identifying software elements in a computer program code; establishing respective roles for the software elements in the program code; with the semantic intensity calculation module calculating respective semantic intensity metrics for the software elements according to the roles thereof; with the coupling calculation module correlating the semantic intensity metrics of the software elements to determine coupling factors between different ones of the software elements; with the software decomposition module organizing the software elements into an arrangement of distinct software components according to the coupling factors therebetween; preparing an optimized computer program code responsively to the arrangement; and writing the optimized computer program code as computer-readable instructions onto a tangible medium. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A data processing system for analysis of software, comprising:
-
a processor; a memory accessible to the processor storing programs and data objects therein, the programs including at least a semantic intensity calculation module, a coupling calculation module, and a software decomposition module, wherein execution of the programs cause the processor to perform the steps of; identifying software elements in a computer program code; establishing respective roles for the software elements in the program code; with the semantic intensity calculation module calculating respective semantic intensity metrics for the software elements according to the roles thereof; with the coupling calculation module correlating the semantic intensity metrics of the software elements to determine coupling factors between different ones of the software elements; with the software decomposition module organizing the software elements into an arrangement of distinct software components according to the coupling factors therebetween; preparing an optimized computer program code responsively to the arrangement; and writing the optimized computer program code as computer-readable instructions onto a tangible medium. - View Dependent Claims (18, 19, 20, 21)
-
Specification