Abstract interpretation of temporal concurrent constraint programs. Issue 3 (10th February 2014) - FALASCHI, MORENO; OLARTE, CARLOS; PALAMIDESSI, CATUSCIA
Abstract: 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 universaltcc formalism (utcc ) is an extension oftcc 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 fortcc, and extend it to a "collecting" semantics forutcc based on closure operators over sequences of constraints. Relying on this semantics, we formalize a general framework for data flow analyses oftcc andutcc programs by abstract interpretation techniques. The concrete and abstract semantics that we propose are compositional, thus allowing us to reduce the complexity of data flow analyses. We show that our method is sound and parametric with respect to 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 to perform, for instance, a groundness analysis fortcc programs. We show the applicability of this analysis in the context of reactive systems. Furthermore, we also make use of the abstract semantics to exhibit a secrecy flaw in a security protocol. We also show how it is possible to make an analysis which may show thattcc programs are suspension-free. This can be useful for several purposes, such as for optimizing compilation or for debugging.