Title :
Building trust into OO components using a genetic analogy
Author :
Baudry, Benoit ; Le Hanh, Vu ; Jézéquel, Jean-Marc ; Le Traon, Yves
Author_Institution :
IRISA, Rennes, France
Abstract :
Despite the growing interest for component based systems, few works tackle the question of the trust we can bring into a component. The paper presents a method and a tool for building trustable OO components. It is particularly adapted to a design-by-contract approach, where the specification is systematically derived into executable assertions (invariant properties, pre/postconditions of methods). A component is seen as an organic set composed of a specification, a given implementation and its embedded test cases. We propose an adaptation of mutation analysis to the OO paradigm that checks the consistency between specification/implementation and tests. Faulty programs, called “mutants”, are generated by systematic fault injection in the implementation. The quality of tests is related to the mutation score, i.e. the proportion of faulty programs it detects. The main contribution is to show how a similar idea can be used in the same context to address the problem of effective test optimization. To map the genetic analogy to the test optimization problem, we consider mutant programs to be detected as the initial preys population and test cases as the predators population. The test selection consists of mutating the “predator” test cases and crossing them over in order to improve their ability to kill the prey population. The feasibility of component validation using such a “Darwinian” model and its usefulness for test optimization are studied
Keywords :
formal specification; genetic algorithms; object-oriented programming; program testing; software reliability; Darwinian model; OO component trust; OO paradigm; component based systems; component validation; design-by-contract approach; executable assertions; faulty programs; genetic analogy; initial preys population; invariant properties; mutant programs; mutants; mutation analysis; mutation score; pre/postconditions; predators population; specification; systematic fault injection; test optimization; test selection; trustable OO components; ts embedded test cases; Automatic testing; Buildings; Built-in self-test; Context modeling; Contracts; Fault detection; Genetic mutations; Object oriented modeling; Software quality; System testing;
Conference_Titel :
Software Reliability Engineering, 2000. ISSRE 2000. Proceedings. 11th International Symposium on
Conference_Location :
San Jose, CA
Print_ISBN :
0-7695-0807-3
DOI :
10.1109/ISSRE.2000.885856