Hostname: page-component-76fb5796d-zzh7m Total loading time: 0 Render date: 2024-04-26T21:07:39.376Z Has data issue: false hasContentIssue false

Symbolic Analysis of Maude Theories with Narval

Published online by Cambridge University Press:  20 September 2019

MARÍA ALPUENTE
Affiliation:
VRAIN (Valencian Research Institute for Artificial Intelligence), Universitat Politècnica de València (e-mail: alpuente@upv.es, sescobar@upv.es, jsapina@upv.es)
SANTIAGO ESCOBAR
Affiliation:
VRAIN (Valencian Research Institute for Artificial Intelligence), Universitat Politècnica de València (e-mail: alpuente@upv.es, sescobar@upv.es, jsapina@upv.es)
JULIA SAPIÑA
Affiliation:
VRAIN (Valencian Research Institute for Artificial Intelligence), Universitat Politècnica de València (e-mail: alpuente@upv.es, sescobar@upv.es, jsapina@upv.es)
DEMIS BALLIS
Affiliation:
DMIF, University of Udine (e-mail: demis.ballis@uniud.it)

Abstract

Concurrent functional languages that are endowed with symbolic reasoning capabilities such as Maude offer a high-level, elegant, and efficient approach to programming and analyzing complex, highly nondeterministic software systems. Maude’s symbolic capabilities are based on equational unification and narrowing in rewrite theories, and provide Maude with advanced logic programming capabilities such as unification modulo user-definable equational theories and symbolic reachability analysis in rewrite theories. Intricate computing problems may be effectively and naturally solved in Maude thanks to the synergy of these recently developed symbolic capabilities and classical Maude features, such as: (i) rich type structures with sorts (types), subsorts, and overloading; (ii) equational rewriting modulo various combinations of axioms such as associativity, commutativity, and identity; and (iii) classical reachability analysis in rewrite theories. However, the combination of all of these features may hinder the understanding of Maude symbolic computations for non-experienced developers. The purpose of this article is to describe how programming and analysis of Maude rewrite theories can be made easier by providing a sophisticated graphical tool called Narval that supports the fine-grained inspection of Maude symbolic computations.

Type
Original Article
Copyright
© Cambridge University Press 2019 

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 the EU (FEDER) and the Spanish MCIU under grant RTI2018-094403-B-C32, by the Spanish Generalitat Valenciana under grants PROMETEO/2019/098 and APOSTD/2019/127, and by the US Air Force Office of Scientific Research under award number FA9550-17-1-0286.

References

Alpuente, M., Ballis, D., Frechina, F., and Sapiña, J. 2015. Exploring Conditional Rewriting Logic Computations. Journal of Symbolic Computation 69, 339.Google Scholar
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., Ballis, D., and Sapiña, J. 2019. Static Correction of Maude Programs with Assertions. Journal of Systems and Software 153, 6485.Google Scholar
Alpuente, M., Cuenca-Ortega, A., Escobar, S., and Sapiña, J. 2017. Inspecting Maude Variants with GLINTS. Theory and Practice of Logic Programming 17, 5–6, 689707.CrossRefGoogle 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). Tech. rep., SRI International Computer Science Laboratory. Available at: http://maude.cs.uiuc.edu/maude2-manual/.Google Scholar
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., and Talcott, C. 2007. All About Maude: A High-Performance Logical Framework. Springer.Google Scholar
Durán, F., Eker, S., Escobar, S., Martí-Oliet, N., Meseguer, J., and Talcott, C. 2018. Associative Unification and Symbolic Reasoning Modulo Associativity in Maude. In Proceedings of the 12th International Workshop on Rewriting Logic and its Applications. LNCS, vol. 11152. Springer, 98114.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.CrossRefGoogle Scholar
Garavel, H., Tabikh, M., and Arrada, I. 2018. Benchmarking Implementations of Term Rewriting and Pattern Matching in Algebraic, Functional, and Object-Oriented Languages - The 4th Rewrite Engines Competition. In Proceedings of the 12th International Workshop on Rewriting Logic and its Applications (WRLA 2018). LNCS, vol. 11152. Springer, 125.Google Scholar
Hähnle, R., Baum, M., Bubel, R., and Rothe, M. 2010. A Visual Interactive Debugger based on Symbolic Execution. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010). Association for Computing Machinery, 143146.Google Scholar
Hanus, M. 2013. Functional Logic Programming: From Theory to Curry. In Programming Logics - Essays in Memory of Harald Ganzinger. LNCS, vol. 7797. Springer, 123168.Google Scholar
Honfi, D., András, V., and Zoltán, M. 2015. SEViz: A Tool for Visualizing Symbolic Execution. In Proceedings of the 8th International Conference on Software Testing, Verification and Validation (ICST 2015). IEEE Computer Society Press, 18.Google Scholar
King, J. C. 1976. Symbolic Execution and Program Testing. Communications of the ACM 19, 7, 385394.Google Scholar
Mau-Dev 2016. The Mau-Dev Website. Available at: http://safe-tools.dsic.upv.es/maudev.Google Scholar
Meseguer, J. 1992. Conditional Rewriting Logic as a Unified Model of Concurrency. Theoretical Computer Science 96, 1, 73155.Google Scholar
Meseguer, J. 2012. Twenty Years of Rewriting Logic. The Journal of Logic and Algebraic Programming 81, 7-8, 721781.Google Scholar
Meseguer, J. 2018. Symbolic Reasoning Methods in Rewriting Logic and Maude. In Proceedings of the 25th International Workshop on Logic, Language, Information, and Computation (WoLLIC 2018). LNCS, vol. 10944. Springer, 2560.Google Scholar
Middeldorp, A. and Hamoen, E. 1992. Counterexamples to Completeness Results for Basic Narrowing. In Proceedings of the 3rd International Conference on Algebraic and Logic Programming (ALP 1992). LNCS, vol. 632. Springer, 244258.Google Scholar