M. Alpuente, D. Ballis, Santiago Escobar, J. Sapiña
{"title":"Symbolic Specialization of Rewriting Logic Theories with Presto","authors":"M. Alpuente, D. Ballis, Santiago Escobar, J. Sapiña","doi":"10.1017/s1471068421000600","DOIUrl":null,"url":null,"abstract":"\n This paper introduces \n \n \n \n$\\tt{{Presto}}$\n\n \n , a symbolic partial evaluator for Maude’s rewriting logic theories that can improve system analysis and verification. In \n \n \n \n$\\tt{{Presto}}$\n\n \n , the automated optimization of a conditional rewrite theory \n \n \n \n$\\mathcal{R}$\n\n \n (whose rules define the concurrent transitions of a system) is achieved by partially evaluating, with respect to the rules of \n \n \n \n$\\mathcal{R}$\n\n \n , an underlying, companion equational logic theory \n \n \n \n$\\mathcal{E}$\n\n \n that specifies the algebraic structure of the system states of \n \n \n \n$\\mathcal{R}$\n\n \n . This can be particularly useful for specializing an overly general equational theory \n \n \n \n$\\mathcal{E}$\n\n \n whose operators may obey complex combinations of associativity, commutativity, and/or identity axioms, when being plugged into a host rewrite theory \n \n \n \n$\\mathcal{R}$\n\n \n as happens, for instance, in protocol analysis, where sophisticated equational theories for cryptography are used. \n \n \n \n$\\tt{{Presto}}$\n\n \n 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 \n \n \n \n$\\tt{{Presto}}$\n\n \n in several examples of protocol analysis where it achieves a significant speed-up. Actually, the transformation provided by \n \n \n \n$\\tt{{Presto}}$\n\n \n 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.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"33 1","pages":"444-495"},"PeriodicalIF":1.4000,"publicationDate":"2021-12-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory and Practice of Logic Programming","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1017/s1471068421000600","RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
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.
期刊介绍:
Theory and Practice of Logic Programming emphasises both the theory and practice of logic programming. Logic programming applies to all areas of artificial intelligence and computer science and is fundamental to them. Among the topics covered are AI applications that use logic programming, logic programming methodologies, specification, analysis and verification of systems, inductive logic programming, multi-relational data mining, natural language processing, knowledge representation, non-monotonic reasoning, semantic web reasoning, databases, implementations and architectures and constraint logic programming.