Patent US2737016A successfully refreshed from Google Patents.
Patent US3482268A successfully refreshed from Google Patents.
Patent US5673387A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5673387A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for selecting test units to be re-run in software regression testing

Assignee: Nokia of America Corp
•
Filing: 1996-08-12
•
Granted: 1997-09-30
•
Expires: 2016-08-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for selective regression testing of a software system that determines which test units of a test suite must be re-run after a modification to the software system. The entities which are covered by each test unit are identified. When the software system is modified the entities which were changed by the modification are identified. The test units which need to be re-run are determined by analyzing the change information and the coverage information to select those test units that cover changed entities.

Inventors

  • 👤 Yih-Farn Robin Chen
  • 👤 David Samuel Rosenblum
  • 👤 Kiem-Phong Vo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 17:52
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3668; G06F11/3672; G06F11/3676; G06F11/3688

Claims Analysis

Total Claims: 49
Claim 1
Independent Claim 199 words
A system for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the system comprising: means for generating a first program database comprising entities in the first software version and relationships between said entities in the first software version; means for generating a second program database comprising entities in the second software version and relationships between said entities in the second software version; means for comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; means for generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; means for comparing said entity difference list with each of said entity trace lists; and means for determining which of said test units must be re-run as a result of said comparison of said entity difference list with each of said entity trace lists.
Claim 2
Independent Claim 199 words
A system for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the system comprising: means for generating a first program database comprising entities in the first software version and relationships between said entities in the first software version; means for generating a second program database comprising entities in the second software version and relationships between said entities in the second software version; means for comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; means for generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; means for comparing said entity difference list with each of said entity trace lists; and means for determining which of said test units must be re-run as a result of said comparison of said entity difference list with each of said entity trace lists.
Claim 3
Dependent Claim 39 words
The system of claim 1 wherein said first and second program databases further comprise source text and wherein said means for comparing said first program database with said second program database further comprises means for comparing said source text.
Claim 4
Dependent Claim 46 words
The system of claim 1 wherein said first and second program databases further comprise a checksum attribute associated with each of said entities, and wherein said means for comparing said first program database with said second program database further comprises means for comparing said checksum attributes.
Claim 5
Dependent Claim 19 words
The system of claim 3 wherein each of said checksum attributes represents the source text of an associated entity.
Claim 6
Dependent Claim 69 words
The system of claim 1 wherein said means for generating an entity trace list further comprises: means for generating a function trace list for a test unit, said function trace list comprising functions executed during execution of the test unit; and means for determining which entities have a dependent relationship with said functions in said function trace list by reference to the entity relationships in said first program database.
Claim 7
Dependent Claim 32 words
The system of claim 5 wherein said software system comprises instrumented object code and wherein said means for generating a function trace list further comprises means for executing said instrumented object code.
Claim 8
Dependent Claim 14 words
The system of claim 1 wherein said entities comprise functions, variables, macros and types.
Claim 9
Dependent Claim 45 words
The system of claim 1 wherein said means for comparing said first program database with said second program database further comprises means for generating a new entity list comprising the entities which appear in said second software version but not in said first software version.
Claim 10
Dependent Claim 45 words
The system of claim 1 wherein said means for comparing said first program database with said second program database further comprises means for generating a removed entity list comprising the entities which appear in said first software version but not in said second software version.
Claim 11
Dependent Claim 38 words
The system of claim 1 wherein said means for comparing said first program database with said second program database further comprises means for generating an unchanged entity list comprising the entities which are unchanged by said software revision.
Claim 12
Independent Claim 144 words
An apparatus for determining which entities of a software system are covered by a test unit of said software system, said apparatus comprising: a computer processor; means for executing said software system on said computer processor using said test unit; means for generating a program database which comprises entities in said software system; means for generating an entity trace list comprising functions which are executed during execution of the software system using said test unit and entities which have a dependent relationship with said executed functions; and means for comparing said entities in said entity trace list to said entities in said program database to determine which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database.
Claim 13
Independent Claim 144 words
An apparatus for determining which entities of a software system are covered by a test unit of said software system, said apparatus comprising: a computer processor; means for executing said software system on said computer processor using said test unit; means for generating a program database which comprises entities in said software system; means for generating an entity trace list comprising functions which are executed during execution of the software system using said test unit and entities which have a dependent relationship with said executed functions; and means for comparing said entities in said entity trace list to said entities in said program database to determine which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database.
Claim 14
Dependent Claim 36 words
The apparatus of claim 11 wherein said means for comparing said entities in said entity trace list to said entities in said program database further comprises means for limiting said comparison to a specified entity kind.
Claim 15
Dependent Claim 85 words
The apparatus of claim 11 wherein said program database further comprises the relationship between the entities in the software system and wherein said means for generating an entity trace list further comprises: means for generating a function trace list comprising the functions which are executed during the execution of the software system using said test unit; and means for determining the entities which have a dependent relationship with said functions in said function trace list by reference to said entity relationships in said program database.
Claim 16
Dependent Claim 32 words
The apparatus of claim 13 wherein said software system comprises instrumented object code and wherein said means for generating a function trace list further comprises means for executing said instrumented object code.
Claim 17
Dependent Claim 14 words
The apparatus of claim 11 wherein said entities include functions, variables, macros and types.
Claim 18
Independent Claim 283 words
A system for selective regression testing of a software system for determining which test units must be re-run when the software system is revised from a first software version to a second software version, the system comprising: a plurality of test units; a plurality of entity trace lists, each of said entity trace lists associated with one of said test units and comprising entities which have a dependent relationship with functions executed during execution of the associated test unit; a changed entity list comprising a list of entities; and means for comparing said changed entity list with said plurality of entity trace lists; and means for generating a list of test units which must be re-run in order to test the software system as a result of said comparison of said changed entity list with said plurality of entity trace lists; first software version to a second software version, the method comprising the steps of: generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entitites in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run.
Claim 19
Independent Claim 283 words
A system for selective regression testing of a software system for determining which test units must be re-run when the software system is revised from a first software version to a second software version, the system comprising: a plurality of test units; a plurality of entity trace lists, each of said entity trace lists associated with one of said test units and comprising entities which have a dependent relationship with functions executed during execution of the associated test unit; a changed entity list comprising a list of entities; and means for comparing said changed entity list with said plurality of entity trace lists; and means for generating a list of test units which must be re-run in order to test the software system as a result of said comparison of said changed entity list with said plurality of entity trace lists; first software version to a second software version, the method comprising the steps of: generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entitites in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run.
Claim 20
Dependent Claim 17 words
The system of claim 16 wherein said changed entity list is a user specified list of entities.
Claim 21
Dependent Claim 50 words
The system of claim 16 further comprising: a first program database comprising the entities in the first software version; a second program database comprising the entities in the second software version; and means for comparing said first program database with said second program database to generate said changed entity list.
Claim 22
Dependent Claim 39 words
The system of claim 18 wherein said first and second program databases further comprise source text, and wherein said means for comparing said first program database with said second program database further comprises means for comparing said source text.
Claim 23
Dependent Claim 45 words
The system of claim 18 wherein said first and second program databases further comprise a checksum attribute for each of said entities, and wherein said means for comparing said first program database with said second program database further comprises means for comparing said checksum attributes.
Claim 24
Dependent Claim 19 words
The system of claim 20 wherein each of said checksum attributes represents the source text of the corresponding entity.
Claim 25
Independent Claim 167 words
A method for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the method comprising the steps of: generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entities in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which are covered by said each test unit; and comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run.
Claim 26
Independent Claim 167 words
A method for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the method comprising the steps of: generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entities in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which are covered by said each test unit; and comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run.
Claim 27
Dependent Claim 40 words
The method of claim 22 wherein said first and second program databases further comprise source text, and wherein said step of comparing said first program database with said second program database further comprises the step of comparing said source text.
Claim 28
Dependent Claim 46 words
The method of claim 22 wherein said first and second program databases further comprise a checksum attribute for each of said entities, and wherein said step of comparing said first program database with said second program database further comprises the step of comparing said checksum attributes.
Claim 29
Dependent Claim 19 words
The method of claim 24 wherein each of said checksum attributes represents the source text of the corresponding entity.
Claim 30
Dependent Claim 69 words
The method of claim 22 wherein said step of generating an entity trace list further comprises the steps of: generating a function trace list for a test unit, said function trace list comprising the functions executed during execution of the test unit; and determining which entities have a dependent relationship with said functions in said function trace list by reference to said entity relationships in said first program database.
Claim 31
Dependent Claim 33 words
The method of claim 26 wherein said software system comprises instrumented object code and wherein said step of generating a function trace list further comprises the step of executing said instrumented object code.
Claim 32
Dependent Claim 14 words
The method of claim 22 wherein said entities comprise functions, variables, macros and types.
Claim 33
Dependent Claim 46 words
The method of claim 22 wherein said step of comparing said first program database with said second program database further comprises the step of generating a new entity list comprising the entities which appear in said second software version but not in said first software version.
Claim 34
Dependent Claim 46 words
The method of claim 22 wherein said step of comparing said first program database with said second program database further comprises the step of generating a removed entity list comprising the entities which appear in said first software version but not in said second software version.
Claim 35
Dependent Claim 39 words
The method of claim 22 wherein said step of comparing said first program database with said second program database further comprises the step of generating an unchanged entity list comprising the entities which are unchanged by said software revision.
Claim 36
Independent Claim 137 words
A method for determining which entities of a software system are covered by a test unit of said software system, said method comprising the steps of: executing said software system on a computer processor using said test unit; generating a program database which comprises entities in said software system; generating an entity trace list comprising functions which are executed during the execution of the software system using said test unit and entities which have a dependent relationship with said executed function; and comparing said entities in said entity trace list to said entities in said program database; and determining which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database.
Claim 37
Independent Claim 137 words
A method for determining which entities of a software system are covered by a test unit of said software system, said method comprising the steps of: executing said software system on a computer processor using said test unit; generating a program database which comprises entities in said software system; generating an entity trace list comprising functions which are executed during the execution of the software system using said test unit and entities which have a dependent relationship with said executed function; and comparing said entities in said entity trace list to said entities in said program database; and determining which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database.
Claim 38
Dependent Claim 37 words
The method of claim 32 wherein said step of comparing said entities in said entity trace list to said entities in said program database further comprises the step of limiting said comparison to a specified entity kind.
Claim 39
Dependent Claim 84 words
The method of claim 32 wherein said program database further comprises the relationship between the entities in the software system and wherein said step of generating an entity trace list further comprises the step of: generating a function trace list comprising the functions which are executed during the execution of the software system using said test unit; and determining the entities which have a dependent relationship with said functions in said function trace list by reference to said entity relationships in said program database.
Claim 40
Dependent Claim 23 words
The method of claim 34 wherein said step of generating a function trace list further comprises the step of executing instrumented object code.
Claim 41
Dependent Claim 14 words
The method of claim 32 wherein said entities include functions, variables, macros and types.
Claim 42
Independent Claim 106 words
A method for selective regression testing of a software system comprising the steps of: executing said software system on a computer processor using a plurality of test units and for each of said test units generating a function trace list comprising functions executed during execution of the associated test unit; generating a first program database of said software system comprising entities in the software system and relationships between said entities; and generating an entity trace list for each of said test units, each of said entity trace lists comprising functions in the function trace list for the associated test unit and entities dependent upon said functions.
Claim 43
Independent Claim 106 words
A method for selective regression testing of a software system comprising the steps of: executing said software system on a computer processor using a plurality of test units and for each of said test units generating a function trace list comprising functions executed during execution of the associated test unit; generating a first program database of said software system comprising entities in the software system and relationships between said entities; and generating an entity trace list for each of said test units, each of said entity trace lists comprising functions in the function trace list for the associated test unit and entities dependent upon said functions.
Claim 44
Dependent Claim 42 words
The method of claim 37 further comprising the step of comparing said first program database to said entity trace lists to determine whether the entities in said program database have a dependent relationship with functions executed during execution of said test units.
Claim 45
Dependent Claim 28 words
The method of claim 38 further comprising the step of limiting said comparison of said first program database to said entity trace lists to a specific entity kind.
Claim 46
Dependent Claim 97 words
The method of claim 37 further comprising the steps of: modifying said software system to create a revised software system; generating a second program database of said revised software system comprising the entities in the revised software system and the relationship between said entities; comparing said first program database with said second program database to generate an entity difference list comprising the entities which were changed by the software system modification; and comparing said entity difference list with said entity trace lists to determine which test units need to be re-run to test the revised software system.
Claim 47
Dependent Claim 40 words
The method of claim 40 wherein said first and second program databases further comprise source text and wherein said step of comparing said first program database with said second program database further comprises the step of comparing said source text.
Claim 48
Dependent Claim 46 words
The method of claim 40 wherein said first and second program databases further comprise a checksum attribute for each of said entities, and wherein said step of comparing said first program database with said second program database further comprises the step of comparing said checksum attributes.
Claim 49
Dependent Claim 52 words
The method of claim 37 further comprising the steps of: receiving a user specified list of entities; and comparing said user specified list of entities with said entity trace lists to determine which test units would need to be re-run if the entities in the user specified list of entities were changed.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag