An overview of Ciao and its design philosophy

MV Hermenegildo, F Bueno, M Carro… - Theory and Practice of …, 2012 - cambridge.org
We provide an overall description of the Ciao multiparadigm programming system
emphasizing some of the novel aspects and motivations behind its design and …

Fifty years of Prolog and beyond

P Körner, M Leuschel, J Barbosa, VS Costa… - Theory and Practice of …, 2022 - cambridge.org
Both logic programming in general and Prolog in particular have a long and fascinating
history, intermingled with that of many disciplines they inherited from or catalyzed. A large …

Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)

MV Hermenegildo, G Puebla, F Bueno… - Science of Computer …, 2005 - Elsevier
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 …

[PDF][PDF] The Ciao prolog system

F Bueno, D Cabeza, M Carro… - … Manual. The Ciao …, 1997 - academia.edu
This is the Reference Manual for the Ciao Prolog development system. It contains basic
information on how to install Ciao Prolog and how to write, debug, and run Ciao Prolog …

Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption

P Lopez-Garcia, L Darmawan, M Klemen… - Theory and Practice of …, 2018 - cambridge.org
Many applications require conformance with specifications that constrain the use of
resources, such as execution time, energy, bandwidth, etc. We present a configurable …

Cost analysis of smart contracts via parametric resource analysis

V Pérez, M Klemen, P López-García, JF Morales… - Static Analysis: 27th …, 2020 - Springer
The very nature of smart contracts and blockchain platforms, where program execution and
storage are replicated across a large number of nodes, makes resource consumption …

Abstraction-carrying code

E Albert, G Puebla, M Hermenegildo - … March 14-18, 2005. Proceedings 11, 2005 - Springer
Abstract Proof-Carrying Code (PCC) is a general approach to mobile code safety in which
programs are augmented with a certificate (or proof). The practical uptake of PCC greatly …

Integrating software testing and run-time checking in an assertion verification framework

E Mera, P Lopez-García, M Hermenegildo - … , CA, USA, July 14-17, 2009 …, 2009 - Springer
We present a framework that unifies unit testing and run-time verification (as well as static
verification and static debugging). A key contribution of our overall approach is that we …

Types, modes and so much more–the Prolog way

MV Hermenegildo, JF Morales, P Lopez-Garcia… - Prolog: The Next 50 …, 2023 - Springer
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 …

Verification of Java bytecode using analysis and transformation of logic programs

E Albert, M Gómez-Zamalloa, L Hubert… - Practical Aspects of …, 2007 - Springer
State of the art analyzers in the Logic Programming (LP) paradigm are nowadays mature
and sophisticated. They allow inferring a wide variety of global properties including …