← Back to Patent Explorer
US5699507A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of identifying similarities in code segments

Assignee: Alcatel Lucent SAS
•
Filing: 1995-01-17
•
Granted: 1997-12-16
•
Expires: 2015-01-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of analyzing a plurality of code segments to determine the similar static and dynamic features of the code segments compares the static and dynamic features of each of the code segments. Each code segment is comprised of one or more lines of program instructions. One or more predetermined static attributes are extracted from each code segment. Each code segment is then run so that the dynamic attributes of the code segment can be determined. The dynamic attributes are extracted from each code segment and a distance function is computed which is based on the extracted static and dynamic attributes for a given pair of code segments. The distance function produces a distance measurement which indicates the relative degree of similarity between the given pair of code segments.

Inventors

  • 👤 II James E. Goodnow
  • 👤 Jonathan Isaac Helfman
  • 👤 Thaddeus Julius Kowalski
  • 👤 John J. Puttress
  • 👤 James R. Rowland
  • 👤 Carl Robert Seaquist

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 10:19
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F11/00; G06F11/36; G06F11/3604

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 81 words
A method of analyzing a plurality of code segments, each code segment comprised of one or more lines of program instructions, the method comprising: extracting from each code segment one or more predetermined static attributes; running each said code segment; extracting from each said code segment dynamic attributes; computing a distance function based on said extracted static and dynamic attributes for a given pair of code segments, said distance function producing a number of distance measurements; and displaying said distance measurements.
Claim 2
Independent Claim 81 words
A method of analyzing a plurality of code segments, each code segment comprised of one or more lines of program instructions, the method comprising: extracting from each code segment one or more predetermined static attributes; running each said code segment; extracting from each said code segment dynamic attributes; computing a distance function based on said extracted static and dynamic attributes for a given pair of code segments, said distance function producing a number of distance measurements; and displaying said distance measurements.
Claim 3
Independent Claim 80 words
A method of analyzing at least one attribute in at least two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or method dynamic attributes; running each code segment and extracting the identified dynamic attributes from said code segment; and computing a distance function based on the extracted dynamic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 4
Independent Claim 80 words
A method of analyzing at least one attribute in at least two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or method dynamic attributes; running each code segment and extracting the identified dynamic attributes from said code segment; and computing a distance function based on the extracted dynamic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 5
Dependent Claim 21 words
The method according to claim 2 wherein a weighing function is applied to one or more of the identified dynamic attributes.
Claim 6
Dependent Claim 18 words
The method according to claim 2 wherein said measurement falls within a range from 0 to 1 inclusive.
Claim 7
Dependent Claim 19 words
The method according to claim 4 wherein a measurement equal to 1 indicates that the code segments are identical.
Claim 8
Dependent Claim 22 words
The method according to claim 4 wherein a measurement equal to zero indicates that there are no similarities between said code segments.
Claim 9
Dependent Claim 67 words
The method according to claim 2 further comprising the steps of: identifying one or more semantic attributes for which a measurement of similarity is to be made; extracting said identified semantic attributes from each code segment; and computing a distance function based on the extracted semantic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 10
Dependent Claim 12 words
The method according to claim 7 wherein said semantic attributes include operators.
Claim 11
Dependent Claim 18 words
The method according to claim 7 wherein said measurement falls within a range from 0 to 1 inclusive.
Claim 12
Dependent Claim 19 words
The method according to claim 9 wherein a measurement equal to 1 indicates that the code segments are identical.
Claim 13
Dependent Claim 22 words
The method according to claim 9 wherein a measurement equal to 0 indicates that there are no similarities between the code segments.
Claim 14
Dependent Claim 20 words
The method according to claim 7 wherein a weighing function is applied to one or more of the semantic attributes.
Claim 15
Independent Claim 75 words
A method of analyzing at least one attribute in at least two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or more semantic attributes; extracting said identified semantic attributes from each code segment; and computing a distance function based on the extracted semantic attributes from each code segment said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 16
Independent Claim 75 words
A method of analyzing at least one attribute in at least two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or more semantic attributes; extracting said identified semantic attributes from each code segment; and computing a distance function based on the extracted semantic attributes from each code segment said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 17
Dependent Claim 12 words
The method according to claim 13 wherein said semantic attributes include operators.
Claim 18
Dependent Claim 18 words
The method according to claim 13 wherein said measurement fails within a range from 0 to 1 inclusive.
Claim 19
Dependent Claim 19 words
The method according to claim 15 wherein a measurement equal to 1 indicates that the code segments arc identical.
Claim 20
Dependent Claim 22 words
The method according to claim 15 wherein a measurement equal to 0 indicates that there are no similarities between the code segments.
Claim 21
Dependent Claim 20 words
The method according to claim 13 wherein a weighing function is applied to one or more of the semantic attributes.
Claim 22
Dependent Claim 62 words
The method according to claim 13 further comprising the steps of: identifying one or more dynamic attributes; running each code segment and extracting the identified dynamic attributes from said code segment; and computing a distance function based on the extracted dynamic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 23
Dependent Claim 21 words
The method according to claim 19 wherein a weighing function is applied to one or more of the identified dynamic attributes.
Claim 24
Dependent Claim 18 words
The method according to claim 19 wherein said measurement fails within a range from 0 to 1 inclusive.
Claim 25
Dependent Claim 18 words
The method according to claim 21 wherein a measurement equal to 1indicates that the code segments are identical.
Claim 26
Dependent Claim 22 words
The method according to claim 21 wherein a measurement equal to zero indicates that there are no similarities between said code segments.
Claim 27
Independent Claim 98 words
A method of analyzing at least one attribute in at least cut two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or more semantic attributes; extracting said identified semantic attributes from each code segment; identifying one or more dynamic attributes; running each code segment and extracting the identified dynamic attributes from said code segment; and computing a distance function based on the extracted semantic and dynamic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 28
Independent Claim 98 words
A method of analyzing at least one attribute in at least cut two code segments, each code segment comprised of one or more lines of program instructions, the method comprising: identifying one or more semantic attributes; extracting said identified semantic attributes from each code segment; identifying one or more dynamic attributes; running each code segment and extracting the identified dynamic attributes from said code segment; and computing a distance function based on the extracted semantic and dynamic attributes from each code segment, said distance function producing a measurement indicative of the degree of similarity between the code segments.
Claim 29
Dependent Claim 21 words
The method according to claim 24 wherein a weighing function is applied to one or more of the identified dynamic attributes.
Claim 30
Dependent Claim 20 words
The method according to claim 24 wherein a weighing function is applied to one or more of the semantic attributes.
Claim 31
Dependent Claim 17 words
The method according to claim 24 wherein said measurement falls within a range from 0 to inclusive.
Claim 32
Dependent Claim 19 words
The method according in claim 27 wherein a measurement equal to 1 indicates that the code segments are identical.
Claim 33
Dependent Claim 22 words
The method according to claim 27 wherein a measurement equal to zero indicates that there are no similarities between said code segments.
Claim 34
Dependent Claim 12 words
The method according to claim 24 wherein said semantic attributes include operators.
Claim 35
Dependent Claim 59 words
The method according to claim 24 wherein said semantic attribute is comprised of one or more code fragments which are programmed to perform a particular function, the method further comprising the steps of: identifying which code segments contain the one or more code fragments; and determining whether the code fragments within the identified code segments perform the particular function.
Claim 36
Dependent Claim 47 words
The method according to claim 24 further comprising the steps of: categorizing the code segments that are similar based on the identified attributes contained within the code segments; allocating resources for creating a general purpose library; and storing said categorized code segments in said general purpose library.
Claim 37
Dependent Claim 42 words
The method according to claim 24 further comprising the steps of: identifying one or more groups of code segments which contain similar dynamic attributes creating one or more storage modules; and storing each group of code segments in a different storage module.
Claim 38
Dependent Claim 23 words
The method according to claim 24 wherein said code segments are comprised of one or more lines of instructions programmed in C code.
Claim 39
Dependent Claim 23 words
The method according to claim 24 wherein said code segments are comprised of one or more lines of instructions programmed in C++ code.

References Cited (Backward Citations)

US4853851A Cited
EP0268293A2 Cited
US5132972A Cited
US5291497A Cited
US5408642A Cited
US5335342A Cited
US5423027A Cited
US5440723A Cited
US5522036A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-12-15 2001-06-16 2001-12-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-12-15 2005-06-16 2005-12-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-12-15 2009-06-16 2009-12-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag