ICARIS 2003: Artificial Immune Systems pp 81-92 | Cite as

Software Vaccination: An Artificial Immune System Approach to Mutation Testing

  • Peter May
  • Keith Mander
  • Jon Timmis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2787)

Abstract

Over time programming languages develop, paradigmsevolve, development teams change. The effect of this is that test suites wear out, therefore these also need to evolve. Mutation testing is an effective fault-based testing approach, but it is computationally expensive. Any evolutionary based approach to this process needs to simultaneously manage execution costs. In this conceptual paper we adopt immune systems as a metaphor for the basis of an alternative mutation testing system. It is envisaged that through monitoring of the development environment, a minimal set of effective mutations and test cases can be developed – a ‘vaccine’ – that can be applied to the software development process to protect it from errors – from infections.

Keywords

Clonal Selection Original Program Human Immune System System Under Test Software Development Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baudry, B., Fleurey, F., Jézéquel, J.-M., Le Traon, Y.: Genes and Bacteria for Automated Test Cases Optimization in the. NET Environment, presented at ISSRE 2002 (Int. Symposium on Software Reliability Engineering), Annaplois, MD, USA (2002)Google Scholar
  2. 2.
    Beizer, B.: Software Testing Techniques, Van Nostrand Reinhold (1990)Google Scholar
  3. 3.
    Burnet, F.M.: The Clonal Selection Theory of Acquired Immunity. Cambridge University Press, Cambridge (1959)Google Scholar
  4. 4.
    de Castro, L.N., Timmis, J.: Artificial Immune Systems: A New Computational Intelligence Approach. Springer, Heidelberg (2002)MATHGoogle Scholar
  5. 5.
    de Castro, L.N., Von Zuben, F.J.: The Clonal Selection Algorithm with Engineering Applications. In: Workshop Proceedings of GECCO, Las Vegas, USA, July 2000, pp. 36–37 (2000)Google Scholar
  6. 6.
    DeMillo, R.A.: Completely Validated Software: Test Adequacy and Program Mutation. In: Proceedings of the Eleventh International Conference on Software Engineering, Pittsburgh, Pennsylvania, USA (1989)Google Scholar
  7. 7.
    Hamlet, R.G.: Testing Programs with the Aid of a Compiler. IEEE Transactions on Software Engineering 3(4) (1977)Google Scholar
  8. 8.
    Hofmeyr, S.A., Forrest, S.: Architecture for an Artificial Immune System. Evolutionary Computation 7, 45–68 (2000)Google Scholar
  9. 9.
    Howden, W.E.: Weak Mutation Testing and Completeness of Test Sets. IEEE Transactions on Software Engineering 8, 371–379 (1982)CrossRefGoogle Scholar
  10. 10.
    Jerne, N.K.: Towards A Network Theory of the Immune System. Annals of Immunology 125C, 373–389 (1974)Google Scholar
  11. 11.
    Juille, H., Pollack, J.B.: Co-evolving Intertwined Spirals. In: Proceedings of the Fifth Annual Conference on Evolutionary Programming, pp. 461–468 (1996)Google Scholar
  12. 12.
    King, K.N., Offut, A.J.: A Fortran Language System for Mutation-Based Software-Testing. Software - Practice and Experience 21(7), 685–718 (1991)CrossRefGoogle Scholar
  13. 13.
    Mathur, A.P.: Performance, Effectiveness, and Reliability Issues in Software Testing. In: Proceedings of the Fifteenth Annual International Computer Software and Applications Conference, Tokyo, Japan, September 1991, pp. 604–605 (1991)Google Scholar
  14. 14.
    DeMillo, R., Lipton, R., Sayward, F.: Hints on Test Data Selection: Help For The Practicing Programmer. IEEE Computer 11(4), 34–41 (1978)Google Scholar
  15. 15.
    Mitchell, M.: An Introduction to Genetic Algorithms. The MIT Press, Cambridge (1998)MATHGoogle Scholar
  16. 16.
    Offutt, A.J.: A Practical System for Mutation Testing: Help for the Common Programmer. In: Proceedings of the International Test Conference, pp. 824–830 (1994)Google Scholar
  17. 17.
    Offut, A.J., Lee, A., Rothermel, G., Untch, R.H., Zapf, C.: An experimental determination of sufficient mutant operators. ACM Transactions on Software Engineering Methodology 5(2), 99–118 (1996)CrossRefGoogle Scholar
  18. 18.
    Offutt, A.J., Pan, J.: Automatically Detecting Equivalent Mutants and Infeasible Paths. The Journal of Software Testing, Verification, and Reliability 7(3), 165–192 (1997)CrossRefGoogle Scholar
  19. 19.
    Offut, A.J., Rothermel, G., Zapf, C.: An experimental evaluation of selective mutation. In: Proceedings of the Fifteenth International Conference on Software Engineering, Baltimore, MD, May 1993, pp. 100–107 (1993)Google Scholar
  20. 20.
    Offutt, A.J., Untch, R.H.: Mutation 2000: Uniting the Orthogonal. In: Wong, W.E. (ed.) Mutation Testing for the New Century, Kluwer, Dordrecht (2001)Google Scholar
  21. 21.
    Untch, R.H., Offutt, A.J., Harrold, M.J.: Mutation Analysis Using Mutant Schemata. In: Proceedings of the 1993 International Symposium on Software Testing and Analysis, Cambridge, MA, June 1993, pp. 139–148 (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Peter May
    • 1
  • Keith Mander
    • 1
  • Jon Timmis
    • 1
  1. 1.Computing LaboratoryUniversity of KentCanterbury, KentUK

Personalised recommendations