Results 1  10
of
10
Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools
 In Proceedings of the IJCAR 2004. LNCS
, 2004
"... Abstract. Formal semantic definitions of concurrent languages, when specified in a wellsuited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our exper ..."
Abstract

Cited by 47 (11 self)
 Add to MetaCart
(Show Context)
Abstract. Formal semantic definitions of concurrent languages, when specified in a wellsuited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our experience in just the few weeks required to define a language’s semantics even for large languages like Java. By combining, yet distinguishing, both equations and rules, rewriting logic semantic definitions unify both the semantic equations of equational semantics (in their higherorder denotational version or their firstorder algebraic counterpart) and the semantic rules of SOS. Several limitations of both SOS and equational semantics are thus overcome within this unified framework. By using a highperformance implementation of rewriting logic such as Maude, a language’s formal specification can be automatically transformed into an efficient interpreter. Furthermore, by using Maude’s breadth first search command, we also obtain for free a semidecision procedure for finding failures of safety properties; and by using Maude’s LTL model checker, we obtain, also for free, a decision procedure for LTL properties of finitestate programs. These possibilities, and the competitive performance of the analysis tools thus obtained, are illustrated by means of a concurrent Camllike language; similar experience with Java (source and JVM) programs is also summarized. 1
Unravelings and Ultraproperties
 In Proceedings of the Fifth International Conference on Algebraic and Logic Programming (ALP'96), volume 1139 of LNCS
, 1996
"... Conditional rewriting is universally recognized as being much more complicated than unconditional rewriting. In this paper we study how much of conditional rewriting can be automatically inferred from the simpler theory of unconditional rewriting. We introduce a new tool, called unraveling, to autom ..."
Abstract

Cited by 29 (3 self)
 Add to MetaCart
(Show Context)
Conditional rewriting is universally recognized as being much more complicated than unconditional rewriting. In this paper we study how much of conditional rewriting can be automatically inferred from the simpler theory of unconditional rewriting. We introduce a new tool, called unraveling, to automatically translate a conditional term rewriting system (CTRS) into a term rewriting system (TRS). An unraveling enables to infer properties of a CTRS by studying the corresponding ultraproperty on the corresponding TRS. We show how to rediscover properties like decreasingness, and to give easy proofs of some existing results on CTRSs. Moreover, we show how unravelings provide a valuable tool to study modularity of CTRSs, automatically giving a multitude of new results.
Transforming Conditional Rewrite Systems with Extra Variables into Unconditional Systems
 In: Proc. LPAR '99, Tblisi
, 1999
"... . Deterministic conditional rewrite systems are interesting because they permit extra variables on the righthand sides of the rules. If such a system is quasireductive, then it is terminating and has a computable rewrite relation. It will be shown that every deterministic CTRS R can be transformed ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
. Deterministic conditional rewrite systems are interesting because they permit extra variables on the righthand sides of the rules. If such a system is quasireductive, then it is terminating and has a computable rewrite relation. It will be shown that every deterministic CTRS R can be transformed into an unconditional TRS U(R) such that termination of U(R) implies quasireductivity of R. The main theorem states that quasireductivity of R implies innermost termination of U(R). These results have interesting applications in two different areas: modularity in term rewriting and termination proofs of wellmoded logic programs. 1 Introduction Conditional term rewriting systems (CTRSs) are the basis of functional logic programming; see [Han94] for an overview of this field. In CTRSs variables on the righthand side of a rewrite rule which do not occur on the lefthand side are often forbidden. This is because it is in general not clear how to instantiate them. On the other hand, a rest...
Towards Effectively Eliminating Conditional Rewrite Rules
"... Abstract. Conditional rewrite rules are notorious for being difficult to implement in rewrite engines. This is because, like in the case of function calls in programming language implementations, rewrite engines need to ”freeze ” the current rewriting environment and to create a new one in which the ..."
Abstract
 Add to MetaCart
Abstract. Conditional rewrite rules are notorious for being difficult to implement in rewrite engines. This is because, like in the case of function calls in programming language implementations, rewrite engines need to ”freeze ” the current rewriting environment and to create a new one in which the condition is reduced. Stacking these rewriting environments efficiently can easily become a nontrivial task, which can have a direct impact on the efficiency of rewriting. Continuationpassingstyle (CPS) transformations are used as a frontend in many programming languages to transform the programs to compile into a convenient and highly optimizable form, in which functions never need to return their values: they just pass their computed values to the current datacontext, which ”knows ” how to continue the computation. We argue that a similar transformation technique can be applied to conditional rewrite systems, to transform them into computationally equivalent unconditional rewrite systems. In this paper we present the first steps towards such a transformation. No special support is needed from the underlying unconditional rewrite engine, so the presented technique can be used as a frontend to any of the current rewrite engines. Since unconditional rewriting is more amenable to parallelization, our transformation is expected to lead to efficient concurrent implementations of rewriting. 1
Conditional Concurrent Rewriting
, 1996
"... For implementing conditional concurrent rewriting on distributed memory machines, we have designed a transformation of conditional term rewriting systems to unconditional rewriting systems. The transformation provides a terminating rewriting system that simulates in a correct and complete way the a ..."
Abstract
 Add to MetaCart
For implementing conditional concurrent rewriting on distributed memory machines, we have designed a transformation of conditional term rewriting systems to unconditional rewriting systems. The transformation provides a terminating rewriting system that simulates in a correct and complete way the application of the initial conditional rewrite system, which is assumed to be decreasing and confluent. Furthermore, this allows to define a model for the implementation of conditional concurrent rewriting using a finegrained parallelism on terms and based on term hypergraph rewriting. Finally, we present first experimental results based on our implementation RECO of conditional concurrent rewriting and show that significant speedups can be obtained when computing normal forms of terms.
From Conditional to Unconditional Rewriting
"... Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest con ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest conditional rewriting engines shows that speedups for conditional rewriting of an order of magnitude can already be obtained by applying the presented technique as a frontend transformation. 1
From Conditional to Unconditional Rewriting
"... Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest cond ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest conditional rewriting engines shows that speedups for conditional rewriting of an order of magnitude can already be obtained by applying the presented technique as a frontend transformation. 1
From Conditional to Unconditional Rewriting
"... Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest cond ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. An automated technique to translate conditional rewrite rules into unconditional ones is presented, which is suitable to implement, or compile, conditional rewriting on top of much simpler and easier to optimize unconditional rewrite systems. An experiment performed on world’s fastest conditional rewriting engines shows that speedups for conditional rewriting of an order of magnitude can already be obtained by applying the presented technique as a frontend transformation. 1