JFLP: Volume 1997, Article 6
The Journal of Functional and Logic Programming
Volume 1997
Article 6
Published by The MIT Press . Copyright 1997 Massachusetts Institute of Technology.
Your institution may already be a subscriber to JFLP. If not, please subscribe for legitimate access to all journal articles.
Enea Zaffanella, Roberto Giacobazzi , and Giorgio Levi
5 November 1997
Abstract
Because of synchronization based on
blocking ask
,
some of the most important techniques for data-flow analysis
of (sequential) constraint logic programs (
clp
) are no longer
applicable to
cc
languages.
In particular, the generalized approach to the semantics,
intended to factorize the (standard) semantics so as to make
explicit the domain-dependent features (i.e., operators and
semantic objects that may be influenced by abstraction) becomes
useless for relevant applications.
In the case of
clp
programs, abstract interpretation of a
program
P
is obtained by evaluating an abstract program
$\alpha(P)$
into an instance of
clp
itself, provided with
a suitable abstract constraint system.
In
cc
programs, a correct characterization of suspended
computations can only be obtained by replacing
ask
constraints
with stronger constraints, which is not the case in abstract
interpretation, where abstraction is usually a weakening of
constraints.
A possible solution to this problem is based on a more abstract
(nonstandard) semantics: the success semantics,
which models nonsuspended computations only.
With a program transformation (NoSynch) that simply
ignores synchronization, we obtain a
clp
like program that
allows us to apply standard techniques for data-flow analysis.
For suspension-free programs, the success semantics is equivalent
to the standard semantics, thus justifying the use of suspension
analysis to generate sound approximations.
A second transformation (
Angel
) is introduced,
applying a different abstraction of synchronization in possibly
suspending programs.
The resulting abstraction is adequate to suspension analysis.
Applicability and accuracy of these solutions are investigated.
The following versions of the article are available:
-
Preformatted versions of the article (compressed with
gzip
)- DVI (gzip'ped 50 kb)
- PostScript (gzip'ped 242 kb)
- PDF (gzip'ped 319 kb; uncompressed 476 kb)
-
LaTeX
(
JFLP-A97-06.tex
, gzip'ped 26 kb) -
BIBTeX
(
JFLP-A97-06.bib
, gzip'ped 2 kb) - Parameter settings for custom formatting ( cjropts.tex , 117 bytes)
Self citation
@article{jflp97-06, author={Enea Zaffanella, Roberto Giacobazzi, and Giorgio Levi}, title={Abstracting Synchronization in Concurrent Constraint Programming}, journal={Journal of Functional and Logic Programming}, volume={1997}, number={6}, publisher={The MIT Press}, month={November}, year={1997} }