Suitability of Evolutionary Algorithms for Evolutionary Testing

  • Authors:
  • Joachim Wegener;André Baresel;Harmen Sthamer

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A great number of today's products is based on the deployment of embedded systems. There are examples of this in nearly all industrial areas, for example in aerospace technology, railway and motor vehicle technology, process and automation technology, communicationtechnology, process and power engineering, as well as in defense electronics. Nearly 90% of all electronic components produced today are used in embedded systems [I]. Embedded systems are also frequently used in applications relevant to safety. Therefore, the occurrence of errors may endanger human lives or result in costly recalls for products produced in high quantities, for example in the automotive industry. Accordingly, the development of embedded systems must comply with the highest quality standards.In order to achieve high quality in the development of embedded systems central importance is attributed to analytical quality assurance. In practice, the most important analytical quality assurance measure is dynamic testing. The thorough testing of systems developed is essential to product quality. The aim of the test is to detect errors in the system to be tested, and to convey confidence in the correct functioning of the system if no errors arefound during comprehensive testing. Testing often takes up more than 50% of the total development costs for embedded systems [4, 5].The most significant weakness of testing is that the postulated functioning of the tested system can, in principle, only be verified for those input situations selected as test data. According to Dijkstra [6], testing can only show the existence but not the non-existence oferrors. The correctness proof can only be produced by a complete test, i.e. a test with all possible input values, input value sequences, and input value combinations under all practically possible constraints. A complete test is usually practically impossible because of the vast amount of possible input situations. Testing is therefore a sampling procedure. Accordingly, an essential testing task is the selection of an appropriate sample containing themost error-sensitive test data. If test data relevant to the practical deployment of the system are omitted, the defined for the test aim and evolutionary computation is applied as a search technique, then the evolutionary test probability of detecting errors within the software declines.