The semantic foundations of concurrent constraint programming
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstract interpretation and application to logic programs
Journal of Logic Programming
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Nondeterminism and infinite computations in constraint programming
Selected papers of the workshop on Topology and completion in semantics
Confluence in concurrent constraint programming
Theoretical Computer Science - Special issue on algebraic methodology and software technology
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Sharing and groundness dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A timed concurrent constraint language
Information and Computation
Timestamps in key distribution protocols
Communications of the ACM
Athena: a novel approach to efficient automatic security protocol analysis
Journal of Computer Security
A logical view of concurrent constraint programming
Nordic Journal of Computing
Temporal concurrent constraint programming: denotation, logic and applications
Nordic Journal of Computing
Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Timed constraint programming: a declarative approach to usage control
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Security protocols: from linear to classical logic by abstract interpretation
Information Processing Letters
Universal concurrent constraint programing: symbolic semantics and applications to security
Proceedings of the 2008 ACM symposium on Applied computing
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Declarative diagnosis of temporal concurrent constraint programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Concurrent and reactive constraint programming
A 25-year perspective on logic programming
Hi-index | 0.00 |
Timed Concurrent Constraint Programming (tcc) is a declarative model for concurrency offering a logic for specifying reactive systems, i.e. systems that continuously interact with the environment. The universal tcc formalism (utcc) is an extension of tcc with the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. In this paper we consider the denotational semantics for tcc, and we extend it to a "collecting" semantics for utcc based on closure operators over sequences of constraints. Relying on this semantics, we formalize the first general framework for data flow analyses of tcc and utcc programs by abstract interpretation techniques. The concrete and abstract semantics we propose are compositional, thus allowing us to reduce the complexity of data flow analyses. We show that our method is sound and parametric w.r.t. the abstract domain. Thus, different analyses can be performed by instantiating the framework. We illustrate how it is possible to reuse abstract domains previously defined for logic programming, e.g., to perform a groundness analysis for tcc programs. We show the applicability of this analysis in the context of reactive systems. Furthermore, we make also use of the abstract semantics to exhibit a secrecy flaw in a security protocol. We have developed a prototypical implementation of our methodology and we have implemented the abstract domain for security to perform automatically the secrecy analysis.