Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

GreASE: A Tool for Efficient “Nonequivalence” Checking

Published: 02 June 2014 Publication History

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.
[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.
[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.
[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.
[5]
Amar Bouali, Stefania Gnesi, and Salvatore Larosa. 1994. JACK: Just another concurrency kit. The intergration projekt. Bull. EATCS 54, 207--223.
[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.
[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.
[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.
[9]
Doron Bustan and Orna Grumberg. 2003. Simulation-based minimazation. ACM Trans. Comput. Log. 4, 2, 181--206.
[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.
[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.
[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.
[13]
Edmund M. Clarke, Orna Grumberg, and David E. Long. 1994. Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16, 5, 1512--1542.
[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.
[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.
[16]
Antonio Cuomo, Antonella Santone, and Umberto Villano. 2013. CD-form: A clone detector based on formal methods. Sci. Comput. Program. 1, 2013.
[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.
[18]
Marco Dorigo and Thomas Stuetzle. 2004. Ant Colony Optimization. MIT Press.
[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.
[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.
[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.
[22]
Jean-Claude Fernandez. 1989. An implementation of an efficient algorithm for bisimulation equivalence. Sci. Comput. Program. 13, 1, 219--236.
[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.
[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.
[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.
[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.
[27]
Raffaella Gentilini, Carla Piazza, and Alberto Policriti. 2003. From bisimulation to simulation: Coarsest partition problems. J. Autom. Reason. 31, 1, 73--103.
[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.
[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.
[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.
[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.
[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.
[33]
Dilian Gurov and Bruce Kapron. 1998. The context management application server element. http://webhome.cs.uvic.ca/˜bmkapron/ccs.html.
[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.
[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.
[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.
[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.
[38]
Antonin Kucera and Petr Jancar. 2006. Equivalence-checking on infinite-state systems: Techniques and results. Theory Pract. Logic Program. 6, 3, 227--264.
[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.
[40]
Ambuj Mahanti and Amitava Bagchi. 1985. AND/OR graph heuristic search methods. J. ACM 32, 1, 28--51.
[41]
Ambuj Mahanti, Supriyo Ghose, and Samir K. Sadhukhan. 2003. A framework for searching and/or graphs with cycles. CoRR cs.AI/0305001.
[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.
[43]
Kenneth L. McMillan. 1993. Symbolic Model Checking. Kluwer.
[44]
Robin Milner. 1989. Communication and Concurrency. Prentice Hall.
[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.
[46]
Robert Paige and Robert Endre Tarjan. 1987. Three partition refinement algorithms. SIAM J. Comput. 16, 6, 973--989.
[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.
[48]
Judea Pearl. 1984. Heuristics - Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley.
[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.
[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.
[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.
[52]
Antonella Santone. 2002. Automatic verification of concurrent systems using a formula-based compositional approach. Acta Inf. 38, 8, 531--564.
[53]
Antonella Santone. 2003. Heuristic search + local model checking in selective mu-calculus. IEEE Trans. Softw. Engin. 29, 6, 510--523.
[54]
Antonella Santone and Gigliola Vaglini. 2012. Abstract reduction in directed model checking ccs processes. Acta Inf. 49, 5, 313--341.
[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.
[56]
Colin Stirling and David Walker. 1991. Local model checking in the modal mu-calculus. Theor. Comput. Sci. 89, 1, 161--177.
[57]
Antti Valmari. 1992. A stubborn attack on state explosion. Formal Meth. Syst. Des. 1, 4, 297--322.
[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.

Cited By

View all
  • (2023)Computational cost of CT Radiomics workflow: a case study on COVID-192023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC57700.2023.00237(1539-1544)Online publication date: Jun-2023
  • (2023)Predicting risk of metastases and recurrence in soft-tissue sarcomas via Radiomics and Formal MethodsJAMIA Open10.1093/jamiaopen/ooad0256:2Online publication date: 12-Apr-2023
  • (2022)Prostate Gleason Score Detection by Calibrated Machine Learning Classification through Radiomic FeaturesApplied Sciences10.3390/app12231190012:23(11900)Online publication date: 22-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 02 June 2014
Accepted: 01 December 2013
Revised: 01 September 2013
Received: 01 March 2013
Published in TOSEM Volume 23, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Formal methods
  2. equivalence checking
  3. heuristic searches

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Computational cost of CT Radiomics workflow: a case study on COVID-192023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC57700.2023.00237(1539-1544)Online publication date: Jun-2023
  • (2023)Predicting risk of metastases and recurrence in soft-tissue sarcomas via Radiomics and Formal MethodsJAMIA Open10.1093/jamiaopen/ooad0256:2Online publication date: 12-Apr-2023
  • (2022)Prostate Gleason Score Detection by Calibrated Machine Learning Classification through Radiomic FeaturesApplied Sciences10.3390/app12231190012:23(11900)Online publication date: 22-Nov-2022
  • (2022)Formal Equivalence Checking for Mobile Malware Detection and Family ClassificationIEEE Transactions on Software Engineering10.1109/TSE.2021.306706148:7(2643-2657)Online publication date: 1-Jul-2022
  • (2022)High Grade Brain Cancer Segmentation by means of Deep LearningProcedia Computer Science10.1016/j.procs.2022.09.220207(1633-1640)Online publication date: 2022
  • (2022)A novel methodology for head and neck carcinoma treatment stage detection by means of model checkingArtificial Intelligence in Medicine10.1016/j.artmed.2022.102263127(102263)Online publication date: May-2022
  • (2022)Equivalence Checking 40 Years After: A Review of Bisimulation ToolsA Journey from Process Algebra via Timed Automata to Model Learning10.1007/978-3-031-15629-8_13(213-265)Online publication date: 7-Sep-2022
  • (2021)Early Diagnosis of Liver Metastases from Colorectal Cancer through CT Radiomics and Formal Methods: A Pilot StudyJournal of Clinical Medicine10.3390/jcm1101003111:1(31)Online publication date: 22-Dec-2021
  • (2021)Neural Networks for Driver Behavior AnalysisElectronics10.3390/electronics1003034210:3(342)Online publication date: 1-Feb-2021
  • (2021)Radiomic features for prostate cancer grade detection through formal verificationLa radiologia medica10.1007/s11547-020-01314-8Online publication date: 4-Jan-2021
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media