skip to main content
research-article

GreASE: A Tool for Efficient “Nonequivalence” Checking

Published:02 June 2014Publication History
Skip Abstract Section

Abstract

Equivalence checking plays a crucial role in formal verification to ensure the correctness of concurrent systems. However, this method cannot be scaled as easily with the increasing complexity of systems due to the state explosion problem. This article presents an efficient procedure, based on heuristic search, for checking Milner's strong and weak equivalence; to achieve higher efficiency, we actually search for a difference between two processes to be discovered as soon as possible, thus the heuristics aims to find a counterexample, even if not the minimum one, to prove nonequivalence. The presented algorithm builds the system state graph on-the-fly, during the checking, and the heuristics promotes the construction of the more promising subgraph. The heuristic function is syntax based, but the approach can be applied to different specification languages such as CCS, LOTOS, and CSP, provided that the language semantics is based on the concept of transition. The algorithm to explore the search space of the problem is based on a greedy technique; GreASE (Greedy Algorithm for System Equivalence), the tool supporting the approach, is used to evaluate the achieved reduction of both state-space size and time with respect to other verification environments.

References

  1. Rajeev Alur and Bow-Yaw Wang. 1999. “Next” heuristic for on-the-fly model checking. In Proceedings of the 10th International Conference on Concurrency (CONCUR'99). Jos C. M. Baeten and Sjouke Mauw, Eds., Lecture Notes in Computer Science, vol. 1664, Springer, 98--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Roberto Barbuti, Nicoletta De Francesco, Antonella Santone, and Gigliola Vaglini. 1999. Selective mu-calculus and formula-based equivalence of transition systems. J. Comput. Syst. Sci. 59, 537--556. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Gerd Behrmann and Ansgar Fehnker. 2001. Efficient guiding towards cost-optimality in uppaal. In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'01). Tiziana Margaria and Wang Yi, Eds., Lecture Notes in Computer Science, vol. 2031, Springer, 174--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ahmed Bouajjani, Jean-Claude Fernandez, and Nicolas Halbwachs. 1990. Minimal model generation. In Proceedings of the 2nd International Workshop on Computer Aided Verification (CAV'90). Lecture Notes in Computer Science, vol. 531, Springer, 197--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Amar Bouali, Stefania Gnesi, and Salvatore Larosa. 1994. JACK: Just another concurrency kit. The intergration projekt. Bull. EATCS 54, 207--223.Google ScholarGoogle Scholar
  6. Julian C. Bradfield and Colin Stirling. 1990. Verifying temporal properties of processes. In Proceedings of the Conference on Theories of Concurrency: Unification and Extension (CONCUR'90). Jos C. M. Baeten and Jan Willem Klop, Eds., Lecture Notes in Computer Science, vol. 458, Springer, 115--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Glenn Bruns. 1992. A case study in safety-critical design. In Proceedings of the International Conference on Computer Aided Verification (CAV'92). Gregor von Bochmann and David K. Probst, Eds., Lecture Notes in Computer Science, vol. 663, Springer, 220--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Glenn Bruns. 1993. A practical technique for process abstraction. In Proceedings of the International Conference on Concurrency Theory (CONCUR'93). Eike Best, Ed., Lecture Notes in Computer Science, vol. 715, Springer, 37--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Doron Bustan and Orna Grumberg. 2003. Simulation-based minimazation. ACM Trans. Comput. Log. 4, 2, 181--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Taolue Chen, Bas Ploeger, Jaco van de Pol, and Tim A. C. Willemse. 2007. Equivalence checking for infinite systems using parameterized boolean equation systems. In Proceedings of the 18th International Conference on Concurrency Theory (CONCUR'07). 120--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Søren Christensen, Hans Huttel, and Colin Stirling. 1995. Bisimulation equivalence is decidable for all context-free processes. Inf. Comput. 121, 2, 143--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Edmund M. Clarke and E. Allen Emerson. 2008. Design and synthesis of synchronization skeletons using branching time temporal logic. In 25 Years of Model Checking, Orna Grumberg and Helmut Veith, Eds., Lecture Notes in Computer Science, vol. 5000, Springer, 196--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Edmund M. Clarke, Orna Grumberg, and David E. Long. 1994. Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16, 5, 1512--1542. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Edmund M. Clarke, David E. Long, and Kenneth L. McMillan. 1989. Compositional model checking. In Proceedings of the 4th Annual Symposium on Logic in Computer Science (LICS'89). IEEE Computer Society, 353--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Rance Cleaveland and Steve Sims. 1996. The ncsu concurrency workbench. In Proceedings of the 8th International Conference on Computer Aided Verification (CAV'96). Lecture Notes in Computer Science, vol. 1102, Springer, 394--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Antonio Cuomo, Antonella Santone, and Umberto Villano. 2013. CD-form: A clone detector based on formal methods. Sci. Comput. Program. 1, 2013.Google ScholarGoogle Scholar
  17. Nicoletta De Francesco, Antonella Santone, and Gigliola Vaglini. 1998. State space reduction by non-standard semantics for deadlock analysis. Sci. Comput. Program. 30, 3, 309--338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Marco Dorigo and Thomas Stuetzle. 2004. Ant Colony Optimization. MIT Press. Google ScholarGoogle Scholar
  19. Matthew B. Dwyer, Suzette Person, and Sebastian Elbaum. 2006. Controlling factors in evaluating path-sensitive error detection techniques. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT'06/FSE'06). ACM Press, New York, 92--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Stefan Edelkamp, Alberto Lluch-Lafuente, and Stefan Leue. 2001. Directed explicit model checking with hsf-spin. In Proceedings of the 8th International SPIN Workshop (SPIN'01). Matthew B. Dwyer, Ed., Lecture Notes in Computer Science, vol. 2057, Springer, 57--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stefan Edelkamp and Frank Reffel. 1998. OBDDs in heuristic search. In Proceedings of the 22nd Annual German Conference on Artificial Intelligence: Advances in Artificial Intelligence (KI'98). Otthein Herzog and Andreas Gunter, Eds., Lecture Notes in Computer Science, vol. 1504, Springer, 81--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jean-Claude Fernandez. 1989. An implementation of an efficient algorithm for bisimulation equivalence. Sci. Comput. Program. 13, 1, 219--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jean-Claude Fernandez, Hubert Garavel, Alain Kerbrat, Laurent Mounier, Radu Mateescul, and Mihaela Sighireanu. 1996. CADP - A protocol validation and verification toolbox. In Proceedings of the 8th International Conference on Computer Aided Verification (CAV'96). Lecture Notes in Computer Science, vol. 1102, Springer, 437--440. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jean-Claude Fernandez, Alain Kerbrat, and Laurent Mounier. 1993. Symbolic equivalence checking. In Proceedings of the 5th International Conference on Computer Aided Verification (CAV'93). Lecture Notes in Computer Science, vol. 697, Springer, 85--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Jean-Claude Fernandez and Laurent Mounier. 1991. “On the fly” verification of behavioural equivalences and preorders. In Proceedings of the 3rd International Workshop on Computer Aided Verification (CAV'91). Lecture Notes in Computer Science, vol. 575, Springer, 181--191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Gianpiero Francesca, Antonella Santone, Gigliola Vaglini, and Maria Luisa Villani. 2011. Ant colony optimization for deadlock detection in concurrent systems. In Proceedings of the 35th Annual IEEE Computer Software and Applications Conference (COMPSAC'11). 108--117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Raffaella Gentilini, Carla Piazza, and Alberto Policriti. 2003. From bisimulation to simulation: Coarsest partition problems. J. Autom. Reason. 31, 1, 73--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Patrice Godefroid. 1996. Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem. Lecture Notes in Computer Science, vol. 1032, Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Patrice Godefroid and Sarfraz Khurshid. 2002. Exploring very large state spaces using genetic algorithms. In Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'02). Joost-Pieter Katoen and Perdita Stevens, Eds., Lecture Notes in Computer Science, vol. 2280, Springer, 266--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Jens C. Godskesen, Kim G. Larsen, and Michael Zeeberg. 1989. TAV - Tools for Automatic Verification: Users Manual. http://books.google.com/books?id=jiaJYgEACAAJ.Google ScholarGoogle Scholar
  31. Susanne Graf, Bernhard Steffen, and Gerald Luttgen. 1996. Compositional minimisation of finite state systems using interface specifications. Formal Asp. Comput. 8, 5, 607--616. Google ScholarGoogle ScholarCross RefCross Ref
  32. Alex Groce and Willem Visser. 2002. Heuristic model checking for java programs. In Proceedings of the 9th International SPIN Workshop on Model Checking of Software (SPIN'02). Dragan Bosnacki and Stefan Leue, Eds., Lecture Notes in Computer Science, vol. 2318, Springer, 242--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Dilian Gurov and Bruce Kapron. 1998. The context management application server element. http://webhome.cs.uvic.ca/˜bmkapron/ccs.html.Google ScholarGoogle Scholar
  34. Eric A. Hansen and Shlomo Zilberstein. 2001. LAO*: A heuristic search algorithm that finds solutions with loops. Artif. Intell. 129, 1--2, 35--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Claude Jard and Thierry Jeron. 1991. Bounded-memory algorithms for verification on-the-fly. In Proceedings of the 3rd International Workshop on Computer Aided Verification (CAV'91). Springer, 192--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rune M. Jensen, Randal E. Bryant, and Manuela M. Veloso. 2002. SetA*: An efficient bdd-based heuristic search algorithm. In Proceedings of the National Conference on Artificial Intelligence (AAAI/IAAI'02). 668--673. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Paris C. Kanellakis and Scott A. Smolka. 1990. CCS expressions, finite state processes, and three problems of equivalence. Inf. Comput. 86, 1, 43--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Antonin Kucera and Petr Jancar. 2006. Equivalence-checking on infinite-state systems: Techniques and results. Theory Pract. Logic Program. 6, 3, 227--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Eric Madelaine and Didier Vergamini. 1990. Finiteness conditions and structural construction of automata for all process algebras. In Proceedings of the 2nd International Workshop on Computer Aided Verification (CAV'90). Lecture Notes in Computer Science, vol. 531, Springer, 353--363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Ambuj Mahanti and Amitava Bagchi. 1985. AND/OR graph heuristic search methods. J. ACM 32, 1, 28--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Ambuj Mahanti, Supriyo Ghose, and Samir K. Sadhukhan. 2003. A framework for searching and/or graphs with cycles. CoRR cs.AI/0305001.Google ScholarGoogle Scholar
  42. Nicola Mazzocca, Antonella Santone, Gigliola Vaglini, and Valeria Vittorini. 2002. Efficient model checking of properties of a distributed application: A multimedia case study. Softw. Test. Verif. Reliab. 12, 1, 3--21.Google ScholarGoogle ScholarCross RefCross Ref
  43. Kenneth L. McMillan. 1993. Symbolic Model Checking. Kluwer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Robin Milner. 1989. Communication and Concurrency. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. M. Oliver Moller and Rajeev Alur. 2001. Heuristics for hierarchical partitioning with application to model checking. In Proceedings of the 11th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME'01). Tiziana Margaria and Thomas F. Melham, Eds., Lecture Notes in Computer Science, vol. 2144, Springer, 71--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Robert Paige and Robert Endre Tarjan. 1987. Three partition refinement algorithms. SIAM J. Comput. 16, 6, 973--989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Atanas N. Parashkevov and Jay Yantchev. 1996. ARC - A tool for efficient refinement and equivalence checking for csp. In Proceedings of the IEEE International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP'96). 68--75.Google ScholarGoogle Scholar
  48. Judea Pearl. 1984. Heuristics - Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Doron Peled. 1993. All from one, one for all: On model checking using representatives. In Proceedings of the 5th International Conference on Computer Aided Verification (CAV'93). Lecture Notes in Computer Science, vol. 697, Springer, 409--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Jean-Pierre Queille and Joseph Sifakis. 1982. Specification and verification of concurrent systems in cesar. In Proceedings of the 5th Colloquium on International Symposium on Programming. Mariangiola Dezani-Ciancaglini and Ugo Montanari, Eds., Lecture Notes in Computer Science, vol. 137, Springer, 337--351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. David A. Ramos and Dawson R. Engler. 2011. Practical, low-effort equivalence verification of real code. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV'11). 669--685. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Antonella Santone. 2002. Automatic verification of concurrent systems using a formula-based compositional approach. Acta Inf. 38, 8, 531--564.Google ScholarGoogle ScholarCross RefCross Ref
  53. Antonella Santone. 2003. Heuristic search + local model checking in selective mu-calculus. IEEE Trans. Softw. Engin. 29, 6, 510--523. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Antonella Santone and Gigliola Vaglini. 2012. Abstract reduction in directed model checking ccs processes. Acta Inf. 49, 5, 313--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Antonella Santone, Gigliola Vaglini, and Maria Luisa Villani. 2013. Incremental construction of systems: An efficient characterization of the lacking sub-system. Sci. Comput. Program. 78, 9, 1346--1367.Google ScholarGoogle ScholarCross RefCross Ref
  56. Colin Stirling and David Walker. 1991. Local model checking in the modal mu-calculus. Theor. Comput. Sci. 89, 1, 161--177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Antti Valmari. 1992. A stubborn attack on state explosion. Formal Meth. Syst. Des. 1, 4, 297--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. C. Han Yang and David L. Dill. 1998. Validation with guided search of the state space. In Proceedings of the 35th Annual Design Automation Conference (DAC'98). 599--604. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GreASE: A Tool for Efficient “Nonequivalence” Checking

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Software Engineering and Methodology
              ACM Transactions on Software Engineering and Methodology  Volume 23, Issue 3
              May 2014
              230 pages
              ISSN:1049-331X
              EISSN:1557-7392
              DOI:10.1145/2628068
              Issue’s Table of Contents

              Copyright © 2014 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 2 June 2014
              • Accepted: 1 December 2013
              • Revised: 1 September 2013
              • Received: 1 March 2013
              Published in tosem Volume 23, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader