An overview of Ciao and its design philosophy
We provide an overall description of the Ciao multiparadigm programming system
emphasizing some of the novel aspects and motivations behind its design and …
emphasizing some of the novel aspects and motivations behind its design and …
Abstract interpretation and application to logic programs
P Cousot, R Cousot - The Journal of Logic Programming, 1992 - Elsevier
Abstract interpretation is a theory of semantics approximation that is used for the
construction of semantic-based program analysis algorithms (sometimes called “data flow …
construction of semantic-based program analysis algorithms (sometimes called “data flow …
Parallel execution of prolog programs: a survey
Since the early days of logic programming, researchers in the field realized the potential for
exploitation of parallelism present in the execution of logic programs. Their high-level …
exploitation of parallelism present in the execution of logic programs. Their high-level …
Abstract interpretation based formal methods and future challenges
P Cousot - Informatics: 10 Years Back, 10 Years Ahead, 2001 - Springer
In order to contribute to the solution of the software reliability problem, tools have been
designed to analyze statically the run-time behavior of programs. Because the correctness …
designed to analyze statically the run-time behavior of programs. Because the correctness …
Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)
The technique of Abstract Interpretation has allowed the development of very sophisticated
global program analyses which are at the same time provably correct and practical. We …
global program analyses which are at the same time provably correct and practical. We …
[PDF][PDF] Memoing for logic programs
DS Warren - Communications of the ACM, 1992 - dl.acm.org
T he power of logic programming (LP) comes from the synergism between the logic
(declarativeness) and the programming (procedurality [13, 37]. From the logic point of view …
(declarativeness) and the programming (procedurality [13, 37]. From the logic point of view …
Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging
We present a framework for the application of abstract interpretation as an aid during
program development, rather than in the more traditional application of program …
program development, rather than in the more traditional application of program …
Improving abstract interpretations by combining domains
This article considers static analysis based on abstract interpretation of logic programs over
combined domains. It is known that analyses over combined domains provide more …
combined domains. It is known that analyses over combined domains provide more …
Incremental analysis of constraint logic programs
Global analyzers traditionally read and analyze the entire program at once, in a
nonincremental way. However, there are many situations which are not well suited to this …
nonincremental way. However, there are many situations which are not well suited to this …
Types, modes and so much more–the Prolog way
We present in a tutorial way some ideas developed in the context of the Ciao Prolog system
that we believe could be useful for the future evolution of Prolog. We concentrate primarily …
that we believe could be useful for the future evolution of Prolog. We concentrate primarily …