Hostname: page-component-74656f9884-6grmk Total loading time: 0 Render date: 2026-11-06T07:59:00.015Z Has data issue: false hasContentIssue false

Symbolic Specialization of Rewriting Logic Theories with Presto

Published online by Cambridge University Press:  11 February 2022

MARÍA ALPUENTE
Affiliation:
VRAIN (Valencian Research Institute for Artificial Intelligence), Universitat Politècnica de València (e-mails: 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-mails: 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-mails: alpuente@upv.es, sescobar@upv.es, jsapina@upv.es)
DEMIS BALLIS
Affiliation:
DMIF, University of Udine (e-mail: demis.ballis@uniud.it)
Rights & Permissions [Opens in a new window]

Abstract

This paper introduces $\tt{{Presto}}$, a symbolic partial evaluator for Maude’s rewriting logic theories that can improve system analysis and verification. In $\tt{{Presto}}$, the automated optimization of a conditional rewrite theory $\mathcal{R}$ (whose rules define the concurrent transitions of a system) is achieved by partially evaluating, with respect to the rules of $\mathcal{R}$, an underlying, companion equational logic theory $\mathcal{E}$ that specifies the algebraic structure of the system states of $\mathcal{R}$. This can be particularly useful for specializing an overly general equational theory $\mathcal{E}$ whose operators may obey complex combinations of associativity, commutativity, and/or identity axioms, when being plugged into a host rewrite theory $\mathcal{R}$ as happens, for instance, in protocol analysis, where sophisticated equational theories for cryptography are used. $\tt{{Presto}}$ implements different unfolding operators that are based on folding variant narrowing (the symbolic engine of Maude’s equational theories). When combined with an appropriate abstraction algorithm, they allow the specialization to be adapted to the theory termination behavior and bring significant improvement while ensuring strong correctness and termination of the specialization. We demonstrate the effectiveness of $\tt{{Presto}}$ in several examples of protocol analysis where it achieves a significant speed-up. Actually, the transformation provided by $\tt{{Presto}}$ may cut down an infinite folding variant narrowing space to a finite one, and moreover, some of the costly algebraic axioms and rule conditions may be eliminated as well. As far as we know, this is the first partial evaluator for Maude that respects the semantics of functional, logic, concurrent, and object-oriented computations.

Information

Type
Original Article
Copyright
© The Author(s), 2022. Published by Cambridge University Press
Figure 0

Fig. 1. Rewrite rules for the client-server communication protocol.

Figure 1

Fig. 2. Equations of the equational theory encoding the Caesar cipher.

Figure 2

Fig. 3. Topmost extension of the simplified client-server protocol of Example 2.

Figure 3

Fig. 4. Definition of the $\mathit{sCond}$ function.

Figure 4

Fig. 5. ${ NPER}^{\mathcal{U}_{\overline{FVP}}}$ Phase 1: Partial evaluation of $\mathcal{E}$ w.r.t. Q output by $\tt{{Presto}}$.

Figure 5

Fig. 6. ${ NPER}^{\mathcal{U}_{\overline{FVP}}}$ Phase 2: Renamed theory $\mathcal{E}_{ren}$ output by $\tt{{Presto}}$.

Figure 6

Fig. 7. ${ NPER}^{\mathcal{U}_{\overline{FVP}}}$ Phase 2: Specialized rewrite rules output by $\tt{{Presto}}$.

Figure 7

Fig. 8. Equations of the specialized equational theory for one-symbol messages and key s(0).

Figure 8

Fig. 9. Loading specifications and selecting the unfolding strategy in $\tt{{Presto}}$.

Figure 9

Fig. 10. Specialized client-server communication protocol before the compression phase.

Figure 10

Fig. 11. Specialized client-server communication protocol after the compression phase.

Figure 11

Fig. 12. Inspecting the specialization process.

Figure 12

Fig. 13. Fragment of the fV-narrowing tree for dec(M:Data,s(0)).

Figure 13

Fig. 14. FVP checking of the Client-Server Communication Protocol with FVP.

Figure 14

Fig. 15. Strong irreducibility failure for a variant of the Client-Server Communication Protocol with FVP.

Figure 15

Fig. 16. Total evaluation of the Client-Server Communication Protocol with FVP.

Figure 16

Table 1. Experimental results for the specialization of rewrite theories with $\tt{{Presto}}$.