Extracting Test Sequences from a Markov Software Usage Model by ACO

  • Karl Doerner
  • Walter J. Gutjahr
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2724)


The aim of the paper is to investigate methods for deriving a suitable set of test paths for a software system. The design and the possible uses of the software system are modelled by a Markov Usage Model which reflects the operational distribution of the software system and is enriched by estimates of failure probabilities, losses in case of failure and testing costs. Exploiting this information, we consider the tradeoff between coverage and testing costs and try to find an optimal compromise between both. For that purpose, we use a heuristic optimization procedure inspired by nature, Ant Colony Optimization, which seems to fit very well to the problem structure under consideration. A real world software system is studied to demonstrate the applicability of our approach and to obtain first experimental results.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aho, A. V., Dahbura, A. T., Lee, D., Uyar, M. Ü, “An optimization technique for protocol conformance test generation based on UIO sequences and rural chinese postman tours”, IEEE Trans. on Communications 39 (1991), pp. 1604–1615.CrossRefGoogle Scholar
  2. 2.
    Belli, F., Grosspietsch, K.-E., “Specification of fault-tolerant system issues by predicate/transition nets and regular expressions — approach and case study”, IEEE Trans. Software Eng. 17 (no. 6) (1991), pp. 513–526.CrossRefGoogle Scholar
  3. 3.
    Belli, F., “Finite-state testing and analysis of graphical user interfaces”, Proc. 12th Int. Symp. on Software Reliability Engineering (ISSRE), IEEE CS Press (2001), pp. 34–43.Google Scholar
  4. 4.
    Bullnheimer, B., Hartl, R. F., Strauss, C., “A new rank-based version of the Ant System: A computational study”, Central European Journal for Operations Research 7(1) (1999), pp. 25–38.MATHMathSciNetGoogle Scholar
  5. 5.
    Cheung, R. C., “A user-oriented software reliability model”, IEEE Trans. Software Eng., vol. 6 (1980), pp. 118–125.CrossRefMathSciNetGoogle Scholar
  6. 6.
    Csöndes, T., Kotnyek, B., Szabó, J. Z., “Application of heuristice methods for conformance test selection”, European J. of Operational Research, vol. 142 (2002), pp. 203–218.MATHCrossRefGoogle Scholar
  7. 7.
    Doerner, K., Gutjahr, W. J., “Representation and Optimization of Software Usage Models with Non-Markovian State Transitions”, Information and Software Technology vol. 47 (2000), pp. 873–884.CrossRefGoogle Scholar
  8. 8.
    Doerner, K., Laure, E., “High performance computing in the optimization of test plans”, Optimization and Engineering, vol. 3 (2002), pp. 67–87.MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Dorigo, M., Di Caro, G., “The Ant Colony Optimization metaheuristic”, in: New Ideas in Optimization, D. Corne, M. Dorigo, F. Glover (eds.), pp. 11–32, McGraw-Hill (1999).Google Scholar
  10. 10.
    Dorigo, M., Maniezzo, V., Colorni, A., “The Ant System: An autocatalytic optimization process”, Technical Report 91-016, Dept. of Electronics, Politecnico di Milano, Italy (1991).Google Scholar
  11. 11.
    Gutjahr, W. J., “Importance sampling of test cases in Markovian software usage models”, Probability in the Engineering and Informational Sciences, vol. 11, (1997), pp. 19–26.MATHCrossRefGoogle Scholar
  12. 12.
    Gutjahr, W. J., “Software Dependability Evaluation Based on Markov Usage Models”, Performance Evaluation, vol. 40 (2000), pp. 199–222.MATHCrossRefGoogle Scholar
  13. 13.
    Gutjahr, W. J., “A graph-based Ant System and its convergence”, Future Generation Computing Systems 16 (2000), pp. 873–888.CrossRefGoogle Scholar
  14. 14.
    Gutjahr, W. J., “ACO Algorithms with Guaranteed Convergence to the Optimal Solution”, accepted for publication in: Information Processing Letters.Google Scholar
  15. 15.
    Harman, M., Jones, B. F., “Search-based software engineering”, Information and Software Technology, vol. 43 (2001), pp. 833–839.CrossRefGoogle Scholar
  16. 16.
    Kallepalli, Ch., “Measuring and modeling usage and reliability for statistical Web testing”, IEEE Trans. Software Eng. vol. 27 (no. 11) (2001), pp. 1023–1036. IEE Proc.-Softw. 146, no. 4 (1999), pp. 187—192.CrossRefGoogle Scholar
  17. 17.
    Kumar, G. P., Venkataram, P., “Protocol test sequence generation using MUIOS based on TSP Problem”, Proc. IFIP TC6 Conf. (1994), pp. 165–191.Google Scholar
  18. 18.
    Littlewood, B., “A reliability model for systems with Markov structure”, J. Royal Statistical Soc., Series C (Applied Statistics), vol. 24 (1975), pp. 172–177.MathSciNetGoogle Scholar
  19. 19.
    Littlewood, B., “A Semi-Markov model for software reliability fith failure costs”. In: MRI Symp. Computer Software Engineering, Polytechnic Press, Polytechnic of New York, New York (1976), pp. 281–300.Google Scholar
  20. 20.
    Littlewood, B., “Software Reliability Models for modular program structure”, IEEE Trans. Reliab., vol. 28 (no. 3) (1979), pp. 241–246.MATHCrossRefGoogle Scholar
  21. 21.
    Poore, J. H., Trammell, C. J., “Application of statistical science to testing and evaluating software intensive systems”. In: Statistics, Testing, and Defense Acquisition, Washington: National Academy Press (1998).Google Scholar
  22. 22.
    Rajgopal, J., Mazumdar, M., “Modular operational test plans for inferences on software reliability based on a Markov model”, IEEE Trans. Software Eng., vol. 28 (no. 4) (2002), pp. 358–363.CrossRefGoogle Scholar
  23. 23.
    Rivers, A. T., Vouk, A. M., “Resource-constrained non-operational testing of software”, Proc. 9th Int. Symp. on Software Reliability Engineering (ISSRE), pp. 154–163 (1998).Google Scholar
  24. 24.
    Sayre, K., Poore, J. H., “Partition testing with usage models”, Information and software technology, vol. 42 (2000), pp. 845–850.CrossRefGoogle Scholar
  25. 25.
    Siegrist, K., “Reliability of systems with Markov transfers of control”, IEEE Trans. Software Eng., vol. 14 (no. 7) (1988), pp. 1049–1053.CrossRefMathSciNetGoogle Scholar
  26. 26.
    Walton, G. H., Poore, J. H., Trammell, J., “Statistical testing of software based on a usage model”, Software — Practice and Experience, vol. 25(1) (1995), pp. 97–108.CrossRefGoogle Scholar
  27. 27.
    Whittaker, J. A., Poore, J. H., “Markov analysis of software specifications”, ACM Trans. on Software Eng. and Method., vol. 2(1) (1993), pp. 93–106.CrossRefGoogle Scholar
  28. 28.
    Whittaker, J. A., Thomason, M. G., “A Markov chain model for statistical software testing”, IEEE Trans. Software Eng., vol. SE-20 (1994), pp. 812–824.CrossRefGoogle Scholar
  29. 29.
    Zhang, F., Cheung, T. Y., “Optimal Transfer Trees and Distinguishing Trees for Testing Observable Nondeterministic Finite-State Machines”, IEEE Trans. Software Eng., vol. SE-29 (2003), pp. 1–14.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Karl Doerner
    • 1
  • Walter J. Gutjahr
    • 2
  1. 1.Department of Management ScienceUniversity of ViennaViennaAustria
  2. 2.Department of Statistics and Decision Support SystemsUniversity of ViennaViennaAustria

Personalised recommendations