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
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-10-26 21:21
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.
References Cited (Backward Citations)
US5086393A
Cited
US5220658A
Cited
US4696003A
Cited
US4802165A
Cited
US4864569A
Cited
US5280626A
Cited
US5185867A
Cited
US5022028A
Cited
US5119377A
Cited
US5495610A
Cited
US5157782A
Cited
US5218605A
Cited
US5233611A
Cited
US5511185A
Cited
US5335342A
Cited
US5488727A
Cited
US5600789A
Cited
US5579476A
Cited
US5548718A
Cited
US5598333A
Cited
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 |