Building Trust into OO Components Using a Genetic Analogy

  • Authors:
  • Benoit Baudry;Vu Le Hanh;Jean-Marc Jézéquel;Yves Le Traon

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Despite the growing interest for component-based systems, few works tackle the question of the trust we can bring into a component. This 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 of this 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 components validation using such a 驴Darwinian驴 model and its usefulness for test optimization are studied.