Hostname: page-component-cd9895bd7-fscjk Total loading time: 0 Render date: 2024-12-27T08:21:46.238Z Has data issue: false hasContentIssue false

Inspecting Maude variants with GLINTS*

Published online by Cambridge University Press:  24 August 2017

M. ALPUENTE
Affiliation:
DSIC-ELP, Universitat Politècnica de València, Spain Universidad de Guayaquil, Guayaquil, Ecuador. (e-mail: alpuente@dsic.upv.es, sescobar@dsic.upv.es, jsapina@dsic.upv.es)
S. ESCOBAR
Affiliation:
DSIC-ELP, Universitat Politècnica de València, Spain Universidad de Guayaquil, Guayaquil, Ecuador. (e-mail: alpuente@dsic.upv.es, sescobar@dsic.upv.es, jsapina@dsic.upv.es)
J. SAPIÑA
Affiliation:
DSIC-ELP, Universitat Politècnica de València, Spain Universidad de Guayaquil, Guayaquil, Ecuador. (e-mail: alpuente@dsic.upv.es, sescobar@dsic.upv.es, jsapina@dsic.upv.es)
A. CUENCA-ORTEGA
Affiliation:
DSIC-ELP, Universitat Politècnica de València, Spain Universidad de Guayaquil, Ecuador (e-mail: angel.cuencao@ug.edu.ec)

Abstract

This paper introduces GLINTS, a graphical tool for exploring variant narrowing computations in Maude. The most recent version of Maude, version 2.7.1, provides quite sophisticated unification features, including order-sorted equational unification for convergent theories modulo axioms such as associativity, commutativity, and identity. This novel equational unification relies on built-in generation of the set of variants of a term t, i.e., the canonical form of tσ for a computed substitution σ. Variant generation relies on a novel narrowing strategy called folding variant narrowing that opens up new applications in formal reasoning, theorem proving, testing, protocol analysis, and model checking, especially when the theory satisfies the finite variant property, i.e., there is a finite number of most general variants for every term in the theory. However, variant narrowing computations can be extremely involved and are simply presented in text format by Maude, often being too heavy to be debugged or even understood. The GLINTS system provides support for (i) determining whether a given theory satisfies the finite variant property, (ii) thoroughly exploring variant narrowing computations, (iii) automatic checking of node embedding and closedness modulo axioms, and (iv) querying and inspecting selected parts of the variant trees.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2017 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

*

This work has been partially supported by EU (FEDER) and Spanish MINECO grant TIN 2015-69175-C4-1-R and by Generalitat Valenciana PROMETEO-II/2015/013. Angel Cuenca-Ortega is supported by SENESCYT, Ecuador (scholarship program 2013), and Julia Sapiña by FPI-UPV grant SP2013-0083. Santiago Escobar is supported by the Air Force Office of Scientific Research under award number FA9550-17-1-0286.

References

Alpuente, M., Ballis, D., Frechina, F. and Sapiña, J. 2016. Assertion-based analysis via slicing with ABETS. Theory and Practice of Logic Programming 16, 5–6, 515532.Google Scholar
Alpuente, M., Cuenca-Ortega, A., Escobar, S. and Meseguer, J. 2017. Partial evaluation of order-sorted equational programs modulo axioms. In Proc. of the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016), Lecture Notes in Computer Science, vol. 10184. Springer, 3–20.Google Scholar
Alpuente, M., Falaschi, M., Moreno, G. and Vidal, G. 1997. Safe folding/unfolding with conditional narrowing. In Proc. of the 6th International Joint Conference on Algebraic and Logic Programming (ALP 1997). Lecture Notes in Computer Science, vol. 1298. Springer, 1–15.Google Scholar
Alpuente, M., Falaschi, M. and Vidal, G. 1998a. A unifying view of functional and logic program specialization. ACM Computing Surveys 30, 3es, 9es.Google Scholar
Alpuente, M., Falaschi, M. and Vidal, G. 1998b. Partial evaluation of functional logic programs. ACM Transactions on Programming Languages and Systems 20, 4, 768844.Google Scholar
Bae, K., Escobar, S. and Meseguer, J. 2013. Abstract logical model checking of infinite-state systems using narrowing. In Proc. of the 24th International Conference on Rewriting Techniques and Applications (RTA 2013), LIPIcs, vol. 21. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 81–96.Google Scholar
Bouchard, C., Gero, K. A., Lynch, C. and Narendran, P. 2013. On forward closure and the finite variant property. In Proc. of the 9th International Symposium on Frontiers of Combining Systems (FroCos 2013). Lecture Notes in Computer Science, vol. 8152. Springer, 327–342.Google Scholar
Chen, W. and Warren, D. S. 1996. Tabled evaluation with delaying for general logic programs. Journal of the ACM 43, 1, 2074.Google Scholar
Clavel, M., Durán, F., Eker, S., Escobar, S., Lincoln, P., Martí-Oliet, N., Meseguer, J. and Talcott, C. 2016 Maude Manual (Version 2.7.1). Technical Report, SRI International Computer Science Lab.Google Scholar
Comon-Lundh, H. and Delaune, S. 2005. The finite variant property: How to get Rid of some algebraic properties. In Proc. of the 16th International Conference on Rewriting Techniques and Applications (RTA 2005). Lecture Notes in Computer Science, vol. 3467. Springer, 294–307.Google Scholar
Deransart, P., Hermenegildo, M. V. and Maluszynski, J. 2006 Analysis and Visualization Tools for Constraint Programming: Constraint Debugging. Lecture Notes in Computer Science, vol. 1870 Springer.Google Scholar
Durán, F., Eker, S., Escobar, S., Martí-Oliet, N., Meseguer, J. and Talcott, C. 2016. Built-in variant generation and unification, and their applications in maude 2.7. In Proc. of the 8th International Joint Conference on Automated Reasoning (IJCAR 2016). Lecture Notes in Computer Science, vol. 9706. Springer, 183–192.Google Scholar
Durán, F., Lucas, S. and Meseguer, J. 2009. Termination modulo combinations of equational theories. In Proc. of the 7th International Symposium on Frontiers of Combining Systems (FroCos 2009). Lecture Notes in Computer Science, vol. 5749. Springer, 246–262.Google Scholar
Durán, F. and Meseguer, J. 2012. On the Church–Rosser and coherence properties of conditional order-sorted rewrite theories. The Journal of Logic and Algebraic Programming 81, 7–8, 816850.CrossRefGoogle Scholar
Erbatur, S., Escobar, S., Kapur, D., Liu, Z., Lynch, C., Meadows, C., Meseguer, J., Narendran, P., Santiago, S. and Sasse, R. 2012. Effective symbolic protocol analysis via equational irreducibility conditions. In Proc. of the 17th European Symposium on Research in Computer Security (ESORICS 2012). Lecture Notes in Computer Science, vol. 7459. Springer, 73–90.Google Scholar
Escobar, S., Meadows, C. and Meseguer, J. 2009. Maude-NPA: Cryptographic protocol analysis modulo equational properties. In Foundations of Security Analysis and Design V (FOSAD 2007/2008/2009 Tutorial Lectures). Lecture Notes in Computer Science, vol. 5705. Springer, 1–50.Google Scholar
Escobar, S., Sasse, R. and Meseguer, J. 2012. Folding variant narrowing and optimal variant termination. The Journal of Logic and Algebraic Programming 81, 7–8, 898928.Google Scholar
Hanus, M. 2013. Functional logic programming: From theory to curry. In Programming Logics. Essays in Memory of Harald Ganzinger. Lecture Notes in Computer Science, vol. 7797. Springer, 123168.Google Scholar
Leuschel, M. 2002. Homeomorphic embedding for online termination of symbolic methods. In The Essence of Computation. Essays Dedicated to Neil D. Jones on the Occasion of his 60th Birthday. Lecture Notes in Computer Science, vol. 2566. Springer, 379403.Google Scholar
Mau-Dev 2016. The Mau-Dev Web site. URL: http://safe-tools.dsic.upv.es/maudev. [Accessed on July 2017].Google Scholar
Meier, S., Schmidt, B., Cremers, C. and Basin, D. A. 2013. The TAMARIN prover for the symbolic analysis of security protocols. In Proc. of the 25th International Conference on Computer Aided Verification (CAV 2013). Lecture Notes in Computer Science, vol. 8044. Springer, 696–701.Google Scholar
Meseguer, J. 1992. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 1, 73155.Google Scholar
Meseguer, J. 2015. Variant-based satisfiability in initial algebras. In Proc. of the 4th International Workshop for Safety-Critical Systems (FTSCS 2015). Communications in Computer and Information Science, vol. 596. Springer, 3–34.Google Scholar
Meseguer, T. 2006. From OBJ to Maude and beyond. In Proc. of Algebra, Meaning, and Computation. Essays Dedicated to Joseph A. Goguen on the Occasion of His 65th Birthday. Lecture Notes in Computer Science, vol. 4060. Springer, 252–280.Google Scholar
Pettorossi, A. and Proietti, M. 1996. A comparative revisitation of some program transformation techniques. In Proc. of International Dagstuhl Seminar on Partial Evaluation. Lecture Notes in Computer Science, vol. 1110. Springer, 355–385.Google Scholar
Yang, F., Escobar, S., Meadows, C., Meseguer, J. and Narendran, P. 2011. Theories of homomorphic encryption, unification, and the finite variant property. In Proc. of the 16th International Symposium on Principles and Practice of Declarative Programming (PPDP 2014). ACM Press, 123–133.Google Scholar