Skip to main content

Comparing Metaheuristic Algorithms for Error Detection in Java Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6956))

Abstract

Model checking is a fully automatic technique for checking concurrent software properties in which the states of a concurrent system are explored in an explicit or implicit way. The main drawback of this technique is the high memory consumption, which limits the size of the programs that can be checked. In the last years, some researchers have focused on the application of guided non-complete stochastic techniques to the search of the state space of such concurrent programs. In this paper, we compare five metaheuristic algorithms for this problem. The algorithms are Simulated Annealing, Ant Colony Optimization, Particle Swarm Optimization and two variants of Genetic Algorithm. To the best of our knowledge, it is the first time that Simulated Annealing has been applied to the problem. We use in the comparison a benchmark composed of 17 Java concurrent programs. We also compare the results of these algorithms with the ones of deterministic algorithms.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)

    Google Scholar 

  2. Clarke, E.M., Grumberg, O., Minea, M., Peled, D.: State space reduction using partial order techniques. International Journal on Software Tools for Technology Transfer (STTT) 2(3), 279–287 (1999)

    Article  MATH  Google Scholar 

  3. Lafuente, A.L.: Symmetry reduction and heuristic search for error detection in model checking. In: Workshop on Model Checking and Artificial Intelligence (2003)

    Google Scholar 

  4. Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, Reading (2004)

    Google Scholar 

  5. Burch, J., Clarke, E., Long, D., McMillan, K., Dill, D.: Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 13(4), 401–424 (1994)

    Article  Google Scholar 

  6. Bradbury, J.S., Cordy, J.R., Dingel, J.: Comparative assessment of testing and model checking using program mutation. In: Proceedings of the 3rd Workshop on Mutation Analysis (MUTATION 2007), Windsor, UK, pp. 210–222 (2007)

    Google Scholar 

  7. Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. 35(3), 268–308 (2003)

    Article  Google Scholar 

  8. Godefroid, P., Khurshid, S.: Exploring very large state spaces using genetic algorithms. International Journal on Software Tools for Technology Transfer 6(2), 117–127 (2004)

    Article  MATH  Google Scholar 

  9. Alba, E., Chicano, F.: Finding safety errors with ACO. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1066–1073. ACM Press, London (2007)

    Google Scholar 

  10. Staunton, J., Clark, J.A.: Searching for safety violations using estimation of distribution algorithms. In: International Workshop on Search-Based Software Testing, pp. 212–221. IEEE Computer Society, Los Alamitos (2010)

    Google Scholar 

  11. Groce, A., Visser, W.: Heuristics for model checking java programs. International Journal on Software Tools for Technology Transfer (STTT) 6(4), 260–276 (2004)

    Article  MATH  Google Scholar 

  12. Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems. Springer-Verlag New York, Inc., New York (1992)

    Book  MATH  Google Scholar 

  13. Alba, E., Chicano, F., Ferreira, M., Gomez-Pulido, J.: Finding deadlocks in large concurrent java programs using genetic algorithms. In: Proceedings of Genetic and Evolutionary Computation Conference, pp. 1735–1742. ACM, New York (2008)

    Google Scholar 

  14. Ferreira, M., Chicano, F., Alba, E., Gómez-Pulido, J.A.: Detecting protocol errors using particle swarm optimization with java pathfinder. In: Smari, W.W. (ed.) ISHPC 2000, pp. 319–325 (2008)

    Google Scholar 

  15. Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chicano, F., Ferreira, M., Alba, E. (2011). Comparing Metaheuristic Algorithms for Error Detection in Java Programs. In: Cohen, M.B., Ó Cinnéide, M. (eds) Search Based Software Engineering. SSBSE 2011. Lecture Notes in Computer Science, vol 6956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23716-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23716-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23715-7

  • Online ISBN: 978-3-642-23716-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics