skip to main content
10.1145/2001576.2001834acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Finding short counterexamples in promela models using estimation of distribution algorithms

Published: 12 July 2011 Publication History

Abstract

Model checking is an automatic technique that exhaustively checks the state space of a system/program to prove if a specification is satisfied. If an error is detected, the precise circumstances of the issue are returned to the user in the form of a counterexample. Exhaustively checking the state space of a large system, a system with many concurrent components for example, is often intractable. In this scenario, heuristic mechanisms can be employed with the task of detecting errors rather than proving the system is correct. Recently, a metaheuristic EDA-based approach to detecting deadlock in multithreaded Java software has shown great promise in this area. In this paper, we extend that work to search Promela models for counterexamples. We show that the EDA-based technique can find errors where algorithms such as A* search fail. We also show the ability of the EDA to find shorter errors than those discovered by traditional heuristic methods.

References

[1]
E. Alba and F. Chicano. Finding safety errors with ACO. In Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 1066--1073. ACM Press New York, NY, USA, 2007.
[2]
E. Alba and F. Chicano. Searching for liveness property violations in concurrent systems with ACO. In Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 1727--1734. ACM New York, NY, USA, 2008.
[3]
E. Alba, F. Chicano, M. Ferreira, and J. Gomez-Pulido. Finding deadlocks in large concurrent java programs using genetic algorithms. In Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 1735--1742. ACM New York, NY, USA, 2008.
[4]
E. Alba and J.M. Troya. Genetic Algorithms for Protocol Validation. Lecture Notes in Computer Science, pages 870--879, 1996.
[5]
S. Anand, C.S. Pasareanu, and W. Visser. JPF-SE: A symbolic execution extension to Java PathFinder. Lecture Notes in Computer Science, 4424:134, 2007.
[6]
C. Baier and J.P. Katoen. Principles of Model Checking. The MIT Press, 2008.
[7]
F. Chicano and E. Alba. Ant colony optimization with partial order reduction for discovering safety property violations in concurrent models. Information Processing Letters, 106(6):221--231, 2008.
[8]
F. Chicano and E. Alba. Finding liveness errors with ACO. In Evolutionary Computation, 2008. CEC 2008.(IEEE World Congress on Computational Intelligence). IEEE Congress on, pages 2997--3004, 2008.
[9]
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. The MIT Press, January 2000.
[10]
S. Edelkamp, S. Leue, and A. Lluch-Lafuente. Protocol verification with heuristic search. In AAAI-Spring Symposium on Model-based Validation Intelligence, pages 75--83, 2001.
[11]
S. Edelkamp, S. Leue, and A. Lluch-Lafuente. Directed explicit-state model checking in the validation of communication protocols. International Journal on Software Tools for Technology Transfer (STTT), 5(2):247--267, 2004.
[12]
P. Godefroid and S. Khurshid. Exploring very large state spaces using genetic algorithms. International Journal on Software Tools for Technology Transfer (STTT), 6(2):117--127, 2004.
[13]
Sean Luke, Liviu Panait, Gabriel Balan, and Et. Ecj 16: A java-based evolutionary computation research system, 2007.
[14]
K.L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, 1993.
[15]
Doron A. Peled. Ten years of partial order reduction. Lecture notes in computer science, pages 17--28, 1998.
[16]
M. Pelikan, D.E. Goldberg, and F.G. Lobo. A survey of optimization by building and using probabilistic models. Computational optimization and applications, 21(1):5--20, 2002.
[17]
R. Poli and N.F. McPhee. A linear estimation-of-distribution GP system. Lecture Notes in Computer Science, 4971:206--217, 2008.
[18]
R. Sagarna, A. Arcuri, and X. Yao. Estimation of distribution algorithms for testing object oriented software. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress on, pages 438--444. IEEE, 2008.
[19]
Ramón Sagarna and Jose A. Lozano. On the performance of estimation of distribution algorithms applied to software testing. Applied Artificial Intelligence: An International Journal, 19(5):457--489, 2005.
[20]
Jan Staunton and John A. Clark. Searching for safety violations using estimation of distribution algorithms. Software Testing Verification and Validation Workshop, IEEE International Conference on Software Testing, Verification, and Validation, 0:212--221, 2010.
[21]
A. Valmari. A stubborn attack on state explosion. In Computer-Aided Verification'90: Proceedings of a DIMACS Workshop, June 18--21, 1990. American Mathematical Society, 1991.

Cited By

View all
  • (2024)Memoization in Model Checking for Safety Properties with Multi-Swarm Particle Swarm OptimizationElectronics10.3390/electronics1321419913:21(4199)Online publication date: 25-Oct-2024
  • (2022)Exploration strategies for balancing efficiency and comprehensibility in model checking with ant colony optimizationJournal of Information and Telecommunication10.1080/24751839.2022.20474706:3(341-359)Online publication date: 22-Mar-2022
  • (2021)Using Markov Chain Based Estimation of Distribution Algorithm for Model-Based Safety Analysis of Graph TransformationJournal of Computer Science and Technology10.1007/s11390-020-1003-336:4(839-855)Online publication date: 30-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '11: Proceedings of the 13th annual conference on Genetic and evolutionary computation
July 2011
2140 pages
ISBN:9781450305570
DOI:10.1145/2001576
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. HSF-spin
  2. estimation of distribution algorithms
  3. liveness
  4. metaheuristics
  5. model checking
  6. safety
  7. spin

Qualifiers

  • Research-article

Conference

GECCO '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Memoization in Model Checking for Safety Properties with Multi-Swarm Particle Swarm OptimizationElectronics10.3390/electronics1321419913:21(4199)Online publication date: 25-Oct-2024
  • (2022)Exploration strategies for balancing efficiency and comprehensibility in model checking with ant colony optimizationJournal of Information and Telecommunication10.1080/24751839.2022.20474706:3(341-359)Online publication date: 22-Mar-2022
  • (2021)Using Markov Chain Based Estimation of Distribution Algorithm for Model-Based Safety Analysis of Graph TransformationJournal of Computer Science and Technology10.1007/s11390-020-1003-336:4(839-855)Online publication date: 30-Jul-2021
  • (2021)Using knowledge discovery to propose a two-phase model checking for safety analysis of graph transformationsSoftware Quality Journal10.1007/s11219-020-09542-x30:1(37-64)Online publication date: 21-Feb-2021
  • (2021)Exploration Strategies for Model Checking with Ant Colony OptimizationComputational Collective Intelligence10.1007/978-3-030-88081-1_20(264-276)Online publication date: 30-Sep-2021
  • (2020)A Survey on the Applications of Swarm Intelligence to Software VerificationHandbook of Research on Fireworks Algorithms and Swarm Intelligence10.4018/978-1-7998-1659-1.ch017(376-398)Online publication date: 2020
  • (2017)Refinement of structural heuristics for model checking of concurrent programs through data miningComputer Languages, Systems and Structures10.1016/j.cl.2016.06.00147:P2(170-188)Online publication date: 1-Jan-2017
  • (2012)The role of artificial intelligence in software engineeringProceedings of the First International Workshop on Realizing AI Synergies in Software Engineering10.5555/2666527.2666528(1-6)Online publication date: 5-Jun-2012
  • (2012)The role of Artificial Intelligence in Software Engineering2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)10.1109/RAISE.2012.6227961(1-6)Online publication date: Jun-2012
  • (2011)Applications of model reuse when using estimation of distribution algorithms to test concurrent softwareProceedings of the Third international conference on Search based software engineering10.5555/2042243.2042260(97-111)Online publication date: 10-Sep-2011
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media