Method and apparatus for adaptively solving sequential problems in a target system utilizing evolutionary computation techniques
First Claim
1. A method for adaptively solving a sequential problem in a target system comprising the steps of:
- producing a population of chromosomes of varied length where each chromosome is formed of a plurality of actions each of said actions representing a stimulus applicable to said target system;
applying said population of chromosomes to said target system;
measuring characteristics of said target system, responsive to application of each of said chromosomes, and said characteristics being definitive of a state of said target systems;
determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes;
removing said chromosomes having the lowest fitness rating to a noisy archive; and
evolving said population of chromosomes to produce a child chromosome wherein said child chromosome is a solution to said sequential problem.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for adaptively solving sequential problems in a target system utilizing evolutionary computation techniques and in particular genetic algorithms and modified genetic algorithms. Stimuli to a target system such as a software system are represented as actions. A single sequence of actions is a chromosome. Chromosomes are applied to the target system one action at a time and the change in properties of the target system is measured after each action is applied. A fitness rating is calculated for each chromosome based on the property changes produced in the target system by the chromosome. The fitness rating calculation is defined so that successive generations of chromosomes will converge upon desired characteristics. For example, desired characteristics for a software testing application are defect discovery and code coverage. Chromosomes with high fitness ratings are selected as parent chromosomes and various techniques are used to mate the parent chromosomes to produce children chromosomes. Children chromosomes with high fitness ratings are entered into the chromosome population. Defects in a target software system are minimized by evolving ever-shorter chromosomes that produce the same defect. Defect discovery rate, or any other desired characteristic, is thereby maximized.
-
Citations
43 Claims
-
1. A method for adaptively solving a sequential problem in a target system comprising the steps of:
-
producing a population of chromosomes of varied length where each chromosome is formed of a plurality of actions each of said actions representing a stimulus applicable to said target system; applying said population of chromosomes to said target system; measuring characteristics of said target system, responsive to application of each of said chromosomes, and said characteristics being definitive of a state of said target systems; determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes;
removing said chromosomes having the lowest fitness rating to a noisy archive; andevolving said population of chromosomes to produce a child chromosome wherein said child chromosome is a solution to said sequential problem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for locating defects in a target software system, comprising the steps of:
-
producing a population of chromosomes of varied length where each chromosome is formed of a plurality of actions each of said actions being a stimulus applicable to said target software system; applying said population of chromosomes one at a time to said target software system; measuring characteristics of said target software system, responsive to application of each of said chromosomes, said characteristics being definitive of a state of said target software system produced by each of said chromosomes; identifying, responsive to measurement of said characteristics, a defect-producing chromosome wherein said defect-producing chromosome produces a defect in said target software system, said defect being one of said characteristics; and minimizing said defect-producing chromosome wherein said minimized defect-producing chromosome has fewer ones of said actions than said defect-producing chromosome and produces the same said defect in said target software system as said defect-producing chromosome. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A system for adaptively testing multiple interacting target software systems comprising:
-
at least one genetic testing engine for generating test cases said genetic testing engine operable to evolve said test cases to produce test cases having a high fitness rating; a product driver manager for receiving test cases from said genetic testing engine and for selectively communicating said test cases to said target software systems; multiple product drivers, each of said multiple product drivers being associated with a different one of said target software systems for interfacing between said product driver manager and said associated target software system for applying said test cases to said associated target software system and for measuring properties of said associated target software system.
-
-
40. A method for adaptively solving a sequential problem in a target system comprising the steps of:
-
producing a population of chromosomes where each chromosome is formed of a plurality of actions each of said actions representing a stimulus application to said target system; applying said population of chromosomes to said target system; measuring characteristics of said target system, responsive to application of each of said chromosomes, said characteristics being definitive of a state of said target system; determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes; selecting a pair of parent chromosomes from said chromosome population; computing an action state delta sum total for each one of multiple segments of a first one of said parent chromosomes; computing an action state delta sum total for each one of a first set of multiple segments of a second one of said parent chromosomes; comparing said action state delta sum total for said first and second set of segments to said action state delta sum totals for said multiple segments of said first parent chromosome; selecting, responsive to said comparing step, said first or second set of segments; swapping said selected segment with a one of said multiple segments of said first one of said parent chromosomes to produce child chromosomes wherein said children chromosomes differ from said parent chromosomes; and said inserting children chromosomes in said chromosome population.
-
-
41. A method for adaptively solving a sequential problem in a target system comprising the steps of:
-
producing a population of chromosomes where each chromosome is formed of a plurality of actions each of said actions representing a stimulus application to said target system; applying said population of chromosomes to said target system; measuring characteristics of said target system, responsive to application of each of said chromosomes, said characteristics being definitive of a state of said target system; determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes; selecting a parent chromosome from said chromosome population; mutating said parent chromosome to form a child chromosome wherein said child chromosome differs from said parent chromosome; selecting a sequence of actions in said child chromosome; replacing said selected sequence with an inverse of said selected sequence; and inserting said child chromosome in said chromosome population.
-
-
42. A method for adaptively solving a sequential problem in a target system comprising the steps of:
-
producing a population of chromosomes where each chromosome is formed of a plurality of actions each of said actions representing a stimulus application to said target system; applying said population of chromosomes to said target system; measuring characteristics of said target system, responsive to application of each of said chromosomes, said characteristics being definitive of a state of said target system; determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes; selecting a parent chromosome from said chromosome population; mutating said parent chromosome to form a child chromosome wherein said child chromosome differs from said parent chromosome; selecting a sequence of actions at a first location within said child chromosome; cutting said sequence of actions from said child chromosome; inserting said sequence of actions in said child chromosome at a second location; and inserting said child chromosome in said chromosome population.
-
-
43. A method for adaptively solving a sequential problem in a target system comprising the steps of:
-
producing a population of chromosomes where each chromosome is formed of a plurality of actions each of said actions representing a stimulus application to said target system; applying said population of chromosomes to said target system; measuring characteristics of said target system, responsive to application of each of said chromosomes, said characteristics being definitive of a state of said target system; determining, responsive to measurement of said characteristics, a fitness rating for each of said chromosomes comprising said population of chromosomes; selecting a parent chromosome from said chromosome population; mutating said parent chromosome to form a child chromosome wherein said child chromosome differs from said parent chromosome; selecting a first sequence of actions in said child chromosome; determining an action state delta sum for said selected sequence; choosing a second sequence of actions from said chromosome population wherein said second sequence of actions has the same said action state delta sum as said first sequence of actions; replacing said first sequence with said second sequence; and inserting said child chromosome into said chromosome population.
-
Specification