Abstract
This paper presents the results of a three year research program to develop an automated test-data generation framework to support the testing of safety-critical software systems. The generality of the framework comes from the exploitation of domain independent search techniques, allowing new test criteria to be addressed by constructing functions that quantify the suitability of test-data against the test-criteria. The paper presents four applications of the framework — specification falsification testing, structural testing, exception condition testing and worst-case execution time testing. The results of three industrial scale case-studies are also presented to show that the framework offers useful support in the development safety-critical software systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
D.J. Andrews (ed.). Information technology — Programming languages, their environments and system software interfaces — Vienna Development Method — Specification Language — Part 1: Base Language. ISO/IEC 13817-1, December 1996.
ANSI/MIL-STD 1815A. Reference manual for the Ada programming language, 1983.
J. Barnes. High Integrity Ada: The SPARK Approach. Addison-Wesley, 1997.
B. Beizer, Software Testing Techniques. Thomson Computer Press, 2nd edition, 1990.
W. Burkhardt. Generating programs from syntax. Computing, 2(1):83–94, 1967.
A. Burns and A. Wellings. Real-Time Systems and Their Programming Languages. International Computer Science Series. Addison Wesley, 1990.
R.A. Caruana and J.D. Schaffer. Representation and hidden bias: Gray vs. binary coding for genetic algorithms. In Proceedings of the Fifth International Conference on Machine Learning. Morgan Kaufmann, 1988.
T. Chow. Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering, 4:178–187, May 1978.
L. Clarke. A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering, SE-2(3):215–222, September 1976.
L.D. Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reihold, 1991.
R. Demillo and A. Offutt. Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9):900–910, 1991.
R. Ferguson and B. Korel. The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology, 5(1):63–86, 1996.
J.H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975.
WE. Howden. Weak mutation testing and completeness of test sets. IEEE Transactions on Software Engineering, SE-8(4):371–379, July 1982.
A.C.T. Inc. The gnat ada-95 compiler, 1997. http://www.gnat.com/.
ISO/IEC 8652:1995. Ada 95: Language Reference Manual, 1995.
C.Z. Janikow and Z. Michalewiz. An experimental comparison of binary and floating point representations in genetic algorithms. In R.K. Belew and L.B. Booker, (eds), Proceedings of the Fourth International Conference on Genetic Algorithms. Morgan Kaufmann, 1991.
B. Jones, H. Sthamer and D. Eyres. The automatic generation of software test data sets using adaptive search techniques. In Proceedings of 3rd International Conference on Software Quality Management, volume 2, pp. 435–444, 1995.
B. Jones, H. Sthamer and D. Eyres. Generating test-data for Ada procedures using genetic algorithms. In Genetic Algorithms in Engineering Systems: Innovations and Applications, pages 65–70. IEEE, September 1995.
B. Jones, H. Sthamer and D. Eyres. Automatic structural testing using genetic algorithms. Software Engineering Journal 11(5):299–306, 1996.
S. King, J. Hammond, R. Chapman and A. Pryor. The value of verification: Positive experience of industrial proof. In Formal Methods 1999 Technical Symposium, 1999.
S. Kirkpatrick, J.C.D. Gelatt and M.P. Vecchi. Optimization by simulated annealing. Science, 220(4598):671–680, May 1983.
B. Korel. Automated software test data generation. IEEE Transactions on Software Engineering, 16(8):870–879, 1990.
B. Korel. Automated test data generation for programs with procedures. In International Symposium on Software Testing and Analysis, pp. 209–215. ACM/SIGSOFT, 1996.
N.G. Leveson. Safeware: System Safety and Computers. Addison Wesley, 1995.
N.G. Leveson and P.R. Harvey. Analyzing software safety. IEEE Transactions on Software Engineering, SE-9(5):569–579, 1983.
J.L. Lions. Ariane 5: Flight 501 failure report. Technical report, ESA/CNES, July 1996.
Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, 1996.
W. Miller and D. Spooner. Automatic generation of floating-point test data. IEEE Transactions on Software Engineering, SE-2(3): 223–226, September 1976.
A.J. Offutt and J. Pan. The dynamic domain reduction procedure for test data generation. — http://www.isse.gmu.edu/faculty/ofut/rsrch/atdg.html, 1996.
M. Ould. Testing — a challenge to method and tool developers. Software Engineering Journal, 6(2): 59–64, March 1991.
R. Pargas, MJ. Harrold and R. Peck. Test-data generation using genetic algorithms. Journal of Software Testing, Verification and Reliability, 9(4): 263–282, 1999.
Praxis Critical Systems. Spark-Ada Documentation 2.0, 1995.
C.R. Reeves. Modern Heuristic Search Methods, Chapter 1 — Modern Heuristic Techniques, pages 1–25. Wiley, 1996.
P.C.S. Rod Chapman. Private communication, 1997.
N. Tracey, J. Clark and K. Mander. Automated program flaw finding using simulated annealing. In International Symposium on Software Testing and Analysis, pages 73–81. ACM/SIGSOFT, 1998.
N. Tracey, J. Clark, and K. Mander. The way forward for unifying dynamic test case generation: The optimisation-based approach. In International Workshop on Dependable Computing and Its Applications, pp. 169–180. IFIP, January 1998.
N. Tracey, J. Clark, K. Mander and J. McDermid. An automated framework for structural test-data generation. In Proceedings of the International Conference on Automated Software Engineering. IEEE, October 1998.
N. Tracey, J. Clark, J. McDermid and K. Mander. Integrating safety analysis with automatic test-data generation for software safety verification. In Proceedings of the 17th International Conference on System Safety, pp. 128–137. System Safety Society, August 1999.
N. Tracey, A. Stephenson, J. Clark, and J. McDermid. A sefet change oriented process for safetycritical systems. In: In the Proceedings of Software Change and Evolution Workshop. International Conference on Software Engineering. IEEE, May 1999.
N.J. Tracey, J. Clark, K. Mander and J. McDermid. Automated test-data generation for exception conditions. Software Practice and Experience, 30(1):61–79, January 2000.
A.L. Watkins. The automatic generation of test data using genetic algorithms. Proceedings of the 4th Software Quality Conference, 2:3000–3309, 1995.
J. Wegener, H.H. Sthamer, B.F. Jones and D.E. Eyres. Testing real-time systems using genetic algorithms. Software Quality Journal, 6(2):127–135, 1997.
S. Xanthakis, C. Ellis, C. SkoURLas, A.L. Gall, S. Katsikas and K. Karapoulios. Application des algorithmes genetiques au test des logiciels. In: Proceedings of 5th International Conference on Software Engineering, pp. 625–638, 1992.
X. Yang. The automatic generation of software test data from Z specifications. Technical report, Department of Computer Studies, University of Glamorgan, 1995.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag London
About this chapter
Cite this chapter
Tracey, N., Clark, J., McDermid, J., Mander, K. (2002). A Search-Based Automated Test-Data Generation Framework for Safety-Critical Systems. In: Henderson, P. (eds) Systems Engineering for Business Process Change: New Directions. Springer, London. https://doi.org/10.1007/978-1-4471-0135-2_12
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0135-2_12
Publisher Name: Springer, London
Print ISBN: 978-1-4471-1084-2
Online ISBN: 978-1-4471-0135-2
eBook Packages: Springer Book Archive