Various possible execution paths measurement and analysis system for evaluating before writing source codes the efficiency performance of software designs
First Claim
1. In a computerized software design method that includes, prior to coding a program being designed, the steps of providing a pluralilty of modules for the program being designed, specifying a hierarchical relationship among the modules, and creating a computerized database that includes a description of each of the modules and of the hierarchical relationship, an improvement comprising, before writing the modules in source code, the computer implemented steps of:
- (a) receiving into an electronic computer from a designer an identification of one of the modules as a starting point for a task to be performed by the program being designed;
(b) automatically computing in the electronic computer various possible flow paths through the hierarchical relationship that could be followed by the program in executing the task;
(c) automatically storing a description of the flow paths in a memory of the electronic computer;
(d) automatically computing in the electronic computer values indicative of computational efficiency of the flow paths through the hierarchical relationship;
(e) automatically storing the values in the memory of the electronic computer;
(f) automatically retrieving said descriptions of the flow paths and said values indicative of computational efficiency from the memory and providing them to the designer in a report;
(g) receiving into the electronic computer from the designer a change in the design of the program according to the information in the report; and
(h) repeating steps (a) through (g) as desired by the designer to assist the designer in reducing any inefficiencies identified through said values indicative of computational efficiency.
1 Assignment
0 Petitions
Accused Products
Abstract
A software engineering tool is disclosed which enables the efficiency and performance of a program design to be evaluated prior to the time the program is written into code. Every possible path that can be followed in the implementation of the program is identified, and its length is measured. From this information, reports are generated which point out the longest paths in the program and sources of potential performance problems. In addition, weights which identify relative complexities or performance timings can be assigned to individual modules in the program, and form the basis of other reports which indicate timing performance. The user is provided with the opportunity to alter the weights assigned to modules, and thereby determine the effect which different weights have on the overall performance of the program.
43 Citations
6 Claims
-
1. In a computerized software design method that includes, prior to coding a program being designed, the steps of providing a pluralilty of modules for the program being designed, specifying a hierarchical relationship among the modules, and creating a computerized database that includes a description of each of the modules and of the hierarchical relationship, an improvement comprising, before writing the modules in source code, the computer implemented steps of:
-
(a) receiving into an electronic computer from a designer an identification of one of the modules as a starting point for a task to be performed by the program being designed; (b) automatically computing in the electronic computer various possible flow paths through the hierarchical relationship that could be followed by the program in executing the task; (c) automatically storing a description of the flow paths in a memory of the electronic computer; (d) automatically computing in the electronic computer values indicative of computational efficiency of the flow paths through the hierarchical relationship; (e) automatically storing the values in the memory of the electronic computer; (f) automatically retrieving said descriptions of the flow paths and said values indicative of computational efficiency from the memory and providing them to the designer in a report; (g) receiving into the electronic computer from the designer a change in the design of the program according to the information in the report; and
(h) repeating steps (a) through (g) as desired by the designer to assist the designer in reducing any inefficiencies identified through said values indicative of computational efficiency. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification