A characterization of symmetric semantics by domain complementation

We characterize the symmetric structure of Cousot's hierarchy of semantics in terms of a purely algebraic manipulation of abstract domains. We consider domain complementation in abstract interpretation as a formal method for systematically deriving complementary semantics of programming languages. We prove that under suitable hypothesis the semantics abstraction commutes with respect to domain complementation. This result allows us to prove that angelic and demonic/in nite semantics are complementary and provide a minimal decomposition of all natural-style trace-based, relational, denotational, Dijkstra's predicate transformer and Hoare's axiomatic semantics. We apply this construction to the case of concurrent constraint programming, characterizing well known semantics as abstract interpretation of maximal traces of constraints.

[1]  Patrick Cousot,et al.  Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, MFPS.

[2]  Patrick Cousot,et al.  Abstract interpretation , 1996, CSUR.

[3]  P. H. Dwinger,et al.  On the Closure Operators of a Complete Lattice , 1954 .

[4]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[5]  Maurizio Gabbrielli,et al.  Proving concurrent constraint programs correct , 1994, POPL '94.

[6]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[7]  Roberto Giacobazzi,et al.  Refining and Compressing Abstract Domains , 1997, ICALP.

[8]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[9]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[10]  Roberto Giacobazzi,et al.  The Reduced Relative Power Operation on Abstract Domains , 1999, Theor. Comput. Sci..

[11]  Agostino Cortesi,et al.  Complementation in abstract interpretation , 1997, TOPL.

[12]  Roberto Giacobazzi,et al.  Complementing Logic Program Semantics , 1996, ALP.

[13]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[14]  Roberto Giacobazzi,et al.  Weak relative pseudo-complements of closure operators , 1996 .

[15]  Krzysztof R. Apt,et al.  Countable nondeterminism and random assignment , 1986, JACM.

[16]  Gilberto Filé,et al.  A unifying view of abstract domain design , 1996, CSUR.

[17]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

[18]  Giorgio Levi,et al.  An Algebraic Theory of Observables , 1994, ILPS.

[19]  Gilberto Filé,et al.  Complementation of Abstract Domains made Easy , 1996, JICSLP.

[20]  P. Cousot,et al.  CONSTRUCTIVE VERSIONS OF TARSKΓS FIXED POINT THEOREMS , 1979 .

[21]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[22]  Patrick Cousot,et al.  Inductive definitions, semantics and abstract interpretations , 1992, POPL '92.

[23]  Zahava Shmuely,et al.  The structure of Galois connections. , 1974 .

[24]  Pascal Van Hentenryck,et al.  Constraint processing in cc(fd) , 1992 .

[25]  Roberto Giacobazzi,et al.  "Optimal" Collecting Semantics for Analysis in a Hierarchy of Logic Program Semantics , 1996, STACS.

[26]  Patrick Cousot Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, Theor. Comput. Sci..

[27]  Dana S. Scott,et al.  Concurrent constraint programming languages , 1989 .