scispace - formally typeset
Journal ArticleDOI

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

Joachim Wegener, +1 more
- 01 Nov 1998 - 
- Vol. 15, Iss: 3, pp 275-298
TLDR
Experiments using evolutionary testing on a number of programs with up to 1511 LOC and 5000 input parameters have successfully identified new longer and shorter execution times than had been found using other testing techniques, and evolutionary testing seems to be a promising approach for the verification of timing constraints.
Abstract
Many industrial products are based on the use of embedded computer systems. Usually, these systems have to fulfil real-time requirements, and correct system functionality depends on their logical correctness as well as on their temporal correctness. In order to verify the temporal behavior 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 safe estimates of temporal behavior for certain cases, there are a number of cases in practice for which static analysis can not be easily applied. Furthermore, no commercial tools for timing analysis of real-world programs are available. Therefore, the developed systems have to be thoroughly tested in order to detect existing deficiencies in temporal behavior, as well as to strengthen the confidence in temporal correctness. An investigation of existing test methods shows that they mostly concentrate on testing for logical correctness. They are not specialised in the examination of temporal correctness which is also essential to real-time systems. For this reason, existing test procedures must be supplemented by new methods which concentrate on determining whether the system violates its specified timing constraints. Normally, a violation means that outputs are produced too early, or their computation takes too long. The task of the tester therefore is to find the input situations with the longest or shortest execution times, in order to check whether they produce a temporal error. If the search for such inputs is interpreted as a problem of optimization, evolutionary computation can be used to automatically find the inputs with the longest or shortest execution times. This automatic search for accurate test data by means of evolutionary computation is called evolutionary testing. Experiments using evolutionary testing on a number of programs with up to 1511 LOC and 5000 input parameters have successfully identified new longer and shorter execution times than had been found using other testing techniques. Evolutionary testing, therefore, seems to be a promising approach for the verification of timing constraints. A combination of evolutionary testing and systematic testing offers further opportunities to improve the test quality, and could lead to an effective test strategy for real-time systems.

read more

Citations
More filters
Journal ArticleDOI

Search‐based software test data generation: a survey

TL;DR: Some of the work undertaken in the use of metaheuristic search techniques for the automatic generation of test data is surveyed, discussing possible new future directions of research for each of its different individual areas.
Proceedings ArticleDOI

Software Testing Research: Achievements, Challenges, Dreams

TL;DR: A consistent roadmap of the most relevant challenges to be addressed in software testing research is proposed, constituted by some important past achievements, while the destination consists of four identified goals to which research ultimately tends, but which remain as unreachable as dreams.
Journal ArticleDOI

Search-based software engineering: Trends, techniques and applications

TL;DR: The work identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.
Journal ArticleDOI

An orchestrated survey of methodologies for automated software test case generation

TL;DR: An orchestrated survey of the most prominent techniques for automatic generation of software test cases, reviewed in self-standing sections, aimed at giving an introductory, up-to-date and (relatively) short overview of research in automatic test case generation.
Journal ArticleDOI

Evolutionary test environment for automatic structural testing

TL;DR: An evolutionary test environment has been developed that performs fully automatic test data generation for most structural test methods and the introduction of an approximation level for fitness evaluation of generated test data and the definition of an efficient test strategy for processing test goals, increases the performance of evolutionary testing considerably.
References
More filters
Book

Genetic algorithms in search, optimization, and machine learning

TL;DR: In this article, the authors present the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields, including computer programming and mathematics.

Genetic algorithms in search, optimization and machine learning

TL;DR: This book brings together the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields.
Book

Handbook of Genetic Algorithms

TL;DR: This book sets out to explain what genetic algorithms are and how they can be used to solve real-world problems, and introduces the fundamental genetic algorithm (GA), and shows how the basic technique may be applied to a very simple numerical optimisation problem.
Book

Art of Software Testing

TL;DR: Comprehensively covers psychological and economic principles, managerial aspects of testing, test tools, high-order testing, code inspections, and debugging, and programming students will find this reference work indispensible.
Book

The Art of Software Testing

TL;DR: The Art of Software Testing, Third Edition as discussed by the authors provides a brief but powerful and comprehensive presentation of time-proven software testing approaches, and is an investment that will pay for itself with the first bug you find.
Related Papers (5)