Verifying Timing Constraints of Real-Time Systems by Means of Evolutionary Testing

  • Authors:
  • Joachim Wegener;Matthias Grochtmann

  • Affiliations:
  • Daimler-Benz AG, Research and Technology, Alt-Moabit 96A, D-10559 Berlin, Germany;Daimler-Benz AG, Research and Technology, Alt-Moabit 96A, D-10559 Berlin, Germany

  • Venue:
  • Real-Time Systems
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many industrial productsare based on the use of embedded computer systems. Usually, thesesystems have to fulfil real-time requirements, and correct systemfunctionality depends on their logical correctness as well ason their temporal correctness. In order to verify the temporalbehavior of real-time systems, previous scientific work has,to a large extent, concentrated on static analysis techniques.Although these techniques offer the possibilty of providing safeestimates of temporal behavior for certain cases, there are anumber of cases in practice for which static analysis can notbe easily applied. Furthermore, no commercial tools for timinganalysis of real-world programs are available. Therefore, thedeveloped systems have to be thoroughly tested in order to detectexisting deficiencies in temporal behavior, as well as to strengthenthe confidence in temporal correctness. An investigation ofexisting test methods shows that they mostly concentrate on testingfor logical correctness. They are not specialised in the examinationof temporal correctness which is also essential to real-timesystems. For this reason, existing test procedures must be supplementedby new methods which concentrate on determining whether the systemviolates its specified timing constraints. Normally, a violationmeans that outputs are produced too early, or their computationtakes too long. The task of the tester therefore is to find theinput situations with the longest or shortest execution times,in order to check whether they produce a temporal error. If thesearch for such inputs is interpreted as a problem of optimization,evolutionary computation can be used to automatically find theinputs with the longest or shortest execution times. This automaticsearch for accurate test data by means of evolutionary computationis called evolutionary testing. Experiments using evolutionarytesting on a number of programs with up to 1511 LOC and 5000input parameters have successfully identified new longer andshorter execution times than had been found using other testingtechniques. Evolutionary testing, therefore, seems to be a promisingapproach for the verification of timing constraints. Acombination of evolutionary testing and systematictesting offers further opportunities to improve the test quality,and could lead to an effective test strategy for real-time systems.