Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method and device for computer software analysis

A technology of computers, computer programs, used in the field of analysis of computer software

Inactive Publication Date: 2002-03-13
IBM CORP
View PDF0 Cites 10 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

When jargon and ramblings are removed, available estimation techniques are sometimes no better than trained guesses made by individuals

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method and device for computer software analysis
  • Method and device for computer software analysis

Examples

Experimental program
Comparison scheme
Effect test

example 1

[0104] double*LU_Decom(double*a, intn, int*idx, double*d) {inti, iMax, j, k; double big, dummy, sum, temp; double*vv; vv=new double[n]; if(!vv)NoMemory(); *d=1.0; for(i=0; ibig) big=temp; / / [impl.cont.] if(big==0.0) return NULL; / / Ifmatrix is ​​singular. vv[i]=1.0 / big / / [impl.cont.]} for(j=0;.i--> } big=0.0; for(i=j;=big) {big=dummy; iMax=i;} / / [impl.cont.]} if(j!=iMax) {for(k=0; k--> } / / [CI=39]

[0105] The complexity index in this example is 39.

example 2

[0107] double*LU_Bksub(double*a, intn, int*idx, doubleb[]) {inti,ii=-1,ip,j; double sum; for(i=0; i0; i--){sum=b[i]; for(j=i+1; j

[0108] The complexity index in this example is 16.

[0109] In the two examples above, each consecutive underlined group of characters represents a decision point. Variables redefined within the loop body according to Section 3, Item 10 are italicized and underlined. In the code above, each decision point has a complexity index of 1. This doesn't necessarily need to be the case. For example, in LU_Decom() the statement

[0110] if((dummy=vv[i]*fabs(sum))>=big)...

[0111] Among them, if fabs() is an untrusted function, the complexity index will be higher. Note that visual inspection of the underlined parts of the code provides an excellent sense of the complexity profile for each of the functions LU_Decom() and LU_Bksub(). However, a more formal way of representing a complexity profile should for example prepare a histogram.

[0112] It ma...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A method and system for analyzing software to estimate the cost of production, development and maintenance of computer applications are disclosed. Unlike previous proposals for such analysis, where the primary measured parameters are the numbers of lines of code and function points, the inventive method identifies high complexity software segments arising from specific discontinuities in execution of the program, ie points at which the program has to, in effect, make decisions. These items are assigned complexity indices which may be summed to give an overall complexity value for the program or the indices may be displayed as a histogram showing the complexity distribution of the program.

Description

field of invention [0001] The present invention relates to the analysis of computer software, including source code and precoded files, such as program designs, in order to estimate the costs associated with the production, development and maintenance of computer programs. Analysis can also be directed towards tracking the progress of a particular software project, optimizing the allocation of labor to such tasks, and in some cases optimizing the software design itself. The present invention relates to a method and an apparatus for analyzing a computer program or a part thereof, and also to a computer program product comprising a computer readable medium on which is recorded the computer program for performing such an analysis. Background technique [0002] Accurate cost estimates for software development, enhancements, testing, etc. are essential for vendors to remain profitable in the marketplace. As pointed out by Fairly, R in Concepts of Software Engineering (McGraw Boo...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/44G06F11/36
CPCG06F11/3616G06F8/70
Inventor R·K·贝拉
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products