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 generated by a goal-seeking
algorithm that uses a hint database and recursion to intelligently and
efficiently generate a robust chromosome population. The 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.
Un système pour résoudre de manière adaptative des problèmes séquentiels dans un système de cible utilisant des techniques évolutionnaires de calcul et en particulier des algorithmes génétiques et des algorithmes génétiques modifiés. Des stimulus à un système de cible tel qu'un système logiciel sont représentés comme actions. Un ordre simple des actions est un chromosome. Des chromosomes sont produits par un algorithme goal-seeking qui emploie une base de données et une récursion de conseil produisent à intelligemment et efficacement d'une population robuste de chromosome. Les chromosomes sont appliqués à l'action du système de cible un à la fois et le changement des propriétés du système de cible est mesuré après que chaque action soit appliquée. Une estimation de forme physique est calculée pour chaque chromosome basé sur les changements de propriété produits du système de cible par le chromosome. Le calcul d'estimation de forme physique est défini de sorte que les générations successives des chromosomes convergent sur des caractéristiques désirées. Par exemple, les caractéristiques désirées pour une application d'essai de logiciel sont découverte de défaut et codent l'assurance. Des chromosomes avec des estimations élevées de forme physique sont choisis pendant que des chromosomes de parent et les diverses techniques sont employés pour joindre les chromosomes de parent pour produire des chromosomes d'enfants. Des chromosomes d'enfants avec des estimations élevées de forme physique sont entrés dans la population de chromosome. Des défauts dans un système logiciel de cible sont réduits au minimum en évoluant des chromosomes jamais-courts qui produisent le même défaut. Désertez le taux de découverte, ou n'importe quelle autre caractéristique désirée, est de ce fait maximisée.