Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
Handbook of theoretical computer science (vol. B)
A general framework for semantics-based bottom-up abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Infinitary control flow analysis: a collecting semantics for closure analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM SIGPLAN Notices
Term rewriting and all that
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
Proving Properties of Logic Programs by Abstract Diagnosis
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
WSA '93 Proceedings of the Third International Workshop on Static Analysis
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
Some Termination Criteria for Narrowing and E-Narrowing
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
The rewriting logic semantics project
Theoretical Computer Science
Higher-Order and Symbolic Computation
A survey of algebraic properties used in cryptographic protocols
Journal of Computer Security
A lightweight interactive debugger for haskell
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Call pattern analysis for functional logic programs
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Termination of narrowing revisited
Theoretical Computer Science
Abstract diagnosis of functional programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Automated termination analysis for Haskell: from term rewriting to programming languages
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
An integrated framework for the diagnosis and correction of rule-based programs
Theoretical Computer Science
Abstract diagnosis of first order functional logic programs
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Hi-index | 5.23 |
This work is motivated by the fact that a ''compact'' semantics for term rewriting systems, which is essential for the development of effective semantics-based program manipulation tools (e.g. automatic program analyzers and debuggers), does not exist. The big-step rewriting semantics that is most commonly considered in functional programming is the set of values/normal forms that the program is able to compute for any input expression. Such a big-step semantics is unnecessarily oversized, as it contains many ''semantically useless'' elements that can be retrieved from a smaller set of terms. Therefore, in this article, we present a compressed, goal-independent collecting fixpoint semantics that contains the smallest set of terms that are sufficient to describe, by semantic closure, all possible rewritings. We prove soundness and completeness under ascertained conditions. The compactness of the semantics makes it suitable for applications. Actually, our semantics can be finite whereas the big-step semantics is generally not, and even when both semantics are infinite, the fixpoint computation of our semantics produces fewer elements at each step. To support this claim we report several experiments performed with a prototypical implementation.