Skip to main content
Log in

Testing real-time systems using genetic algorithms

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The development of real-time systems is an essential industrial activity whose importance is increasing. The most important analytical method to assure the quality of real-time systems is dynamic testing. Testing is the only method which examines the actual run-time behaviour of real-time software, based on an execution in the real application environment. Dynamic aspects like the duration of computations, the memory actually needed, or the synchronization of parallel processes are of major importance for the correct function of real-time systems and have to be tested. A comprehensive investigation of existing software test methods shows that they mostly concentrate on testing for functional correctness. They are not suited for an examination of temporal correctness which is essential to real-time systems. Very small systems show a wide range of different execution times. Therefore, existing test procedures must be supplemented by new methods, which concentrate on determining whether the system violates its specified timing constraints. In general, this means that outputs are produced too early or their computation takes too long. The task of the tester is to find the inputs with the longest or shortest execution times to check whether they produce a temporal error. If the search for such inputs is interpreted as a problem of optimization, genetic algorithms can be used to find the inputs with the longest or shortest execution times automatically. The fitness function is the execution time measured in processor cycles. Experiments using genetic algorithms on a number of programs with up to 1511 LOC and 843 integer input parameters have successfully identified new longer and shorter paths than had been found using random testing or systematic testing. Genetic algorithms are able therefore to check large programs and they show considerable promise in establishing the validity of the temporal behaviour of real-time software.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. W.S. Heath. Real-time Software Techniques (Van Nostrand Rheinhold, 1991).

  2. K.A. Fisher. The application of genetic algorithms to optimising the design of an engine block for low noise, First International Conference on Genetic Algorithms in Engineering Systems: Innovations and Applications (GALESIA), Sheffield (1995), pp. 18-22 (IEE/IEEE).

  3. D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning (Addison-Wesley, 1989).

  4. B.F. Jones, H-H. Sthamer and D.E. Eyres. Automatic structural testing using genetic algorithms, Software Engineering Journal, 11(5) (1996) 299-306.

    Google Scholar 

  5. S. Xanthakis, C. Ellis, C. Skourlas, A. Le Gall and S. Katsikas. Application of genetic algorithms to software testing, Fifth International Conference on Software Engineering, Toulouse (1992).

  6. A.E.L. Watkins. A tool for the automatic generation of test data using genetic algorithms, in Proceedings of Software Quality Conference, Dundee (1995).

  7. B.F. Jones, H-H. Sthamer, X. Yang and D.E. Eyres. The automatic generation of software test data sets using adaptive search techniques, Third International Conference on Software Quality Management,Seville (1995), pp. 435-444 (BCS/CMP)

  8. M. Grochtmann and K. Grimm. Classification-trees for partition testing, Journal of Software Testing, Verification and Reliability, 3(2) (1993), 63-82.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wegener, J., Sthamer, H., Jones, B.F. et al. Testing real-time systems using genetic algorithms. Software Quality Journal 6, 127–135 (1997). https://doi.org/10.1023/A:1018551716639

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018551716639

Navigation