Skip to main content

Showing 1–45 of 45 results for author: Hermenegildo, M

.
  1. arXiv:2501.12093  [pdf, ps, other

    cs.SE cs.PL

    Checkification: A Practical Approach for Testing Static Analysis Truths

    Authors: Daniela Ferreiro, Ignacio Casso, Jose F. Morales, Pedro López-García, Manuel V. Hermenegildo

    Abstract: Static analysis is an essential component of many modern software development tools. Unfortunately, the ever-increasing complexity of static analyzers makes their coding error-prone. Even analysis tools based on rigorous mathematical techniques, such as abstract interpretation, are not immune to bugs. Ensuring the correctness and reliability of software analyzers is critical if they are to be inse… ▽ More

    Submitted 7 May, 2025; v1 submitted 21 January, 2025; originally announced January 2025.

    Comments: Accepted for publication in Theory and Practice of Logic Programming (TPLP). Extended, revised version of our work published in LOPSTR 2020

  2. Abstract Environment Trimming

    Authors: Daniel Jurjo-Rivas, Jose F. Morales, Pedro López-García, Manuel V. Hermenegildo

    Abstract: Variable sharing is a fundamental property in the static analysis of logic programs, since it is instrumental for ensuring correctness and increasing precision while inferring many useful program properties. Such properties include modes, determinacy, non-failure, cost, etc. This has motivated significant work on developing abstract domains to improve the precision and performance of sharing analy… ▽ More

    Submitted 19 August, 2024; originally announced August 2024.

    Comments: 61 pages, 10 figures, 7 tables, submitted to ICLP 2024

    Journal ref: Theory and Practice of Logic Programming 24 (2024) 863-884

  3. arXiv:2406.18260  [pdf, other

    cs.PL cs.LO

    An Order Theory Framework of Recurrence Equations for Static Cost Analysis $-$ Dynamic Inference of Non-Linear Inequality Invariants

    Authors: Louis Rustenholz, Pedro Lopez-Garcia, José F. Morales, Manuel V. Hermenegildo

    Abstract: Recurrence equations have played a central role in static cost analysis, where they can be viewed as abstractions of programs and used to infer resource usage information without actually running the programs with concrete data. Such information is typically represented as functions of input data sizes. More generally, recurrence equations have been increasingly used to automatically obtain non-li… ▽ More

    Submitted 29 August, 2024; v1 submitted 26 June, 2024; originally announced June 2024.

    Comments: Preprint of a paper accepted at SAS 2024

  4. Demonstrating (Hybrid) Active Logic Documents and the Ciao Prolog Playground, and an Application to Verification Tutorials

    Authors: Daniela Ferreiro, José F. Morales, Salvador Abreu, Manuel V. Hermenegildo

    Abstract: Active Logic Documents (ALD) are web pages which incorporate embedded Prolog engines that run locally within the browser. ALD offers both a very easy way to add click-to-run capabilities to any kind of teaching materials, independently of the tool used to generate them, as well as a tool-set for generating web-based materials with embedded examples and exercises. Both leverage on (components of)… ▽ More

    Submitted 30 August, 2023; originally announced August 2023.

    Comments: In Proceedings ICLP 2023, arXiv:2308.14898

    Journal ref: EPTCS 385, 2023, pp. 324-329

  5. arXiv:2201.10816  [pdf, ps, other

    cs.PL

    Fifty Years of Prolog and Beyond

    Authors: Philipp Körner, Michael Leuschel, João Barbosa, Vítor Santos Costa, Verónica Dahl, Manuel V. Hermenegildo, Jose F. Morales, Jan Wielemaker, Daniel Diaz, Salvador Abreu, Giovanni Ciatto

    Abstract: 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 body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones keep appearing. Often, the features added by diffe… ▽ More

    Submitted 14 March, 2022; v1 submitted 26 January, 2022; originally announced January 2022.

    Comments: 87 pages, 2 figures. This article has been accepted for publication in Theory and Practice of Logic Programming (TPLP)

  6. arXiv:2111.11218  [pdf, other

    cs.DC cs.AI cs.LO cs.PL

    Parallel Logic Programming: A Sequel

    Authors: Agostino Dovier, Andrea Formisano, Gopal Gupta, Manuel V. Hermenegildo, Enrico Pontelli, Ricardo Rocha

    Abstract: Multi-core and highly-connected architectures have become ubiquitous, and this has brought renewed interest in language-based approaches to the exploitation of parallelism. Since its inception, logic programming has been recognized as a programming paradigm with great potential for automated exploitation of parallelism. The comprehensive survey of the first twenty years of research in parallel log… ▽ More

    Submitted 24 January, 2022; v1 submitted 22 November, 2021; originally announced November 2021.

  7. Regular Path Clauses and Their Application in Solving Loops

    Authors: Bishoksan Kafle, John P. Gallagher, Manuel V. Hermenegildo, Maximiliano Klemen, Pedro López-García, José F. Morales

    Abstract: A well-established approach to reasoning about loops during program analysis is to capture the effect of a loop by extracting recurrences from the loop; these express relationships between the values of variables, or program properties such as cost, on successive loop iterations. Recurrence solvers are capable of computing closed forms for some recurrences, thus deriving precise relationships capt… ▽ More

    Submitted 9 September, 2021; originally announced September 2021.

    Comments: In Proceedings HCVS 2021, arXiv:2109.03988

    ACM Class: B.5.2

    Journal ref: EPTCS 344, 2021, pp. 22-35

  8. arXiv:2108.00739  [pdf, ps, other

    cs.LO cs.PL

    Analysis and Transformation of Constrained Horn Clauses for Program Verification

    Authors: Emanuele De Angelis, Fabio Fioravanti, John P. Gallagher, Manuel V. Hermenegildo, Alberto Pettorossi, Maurizio Proietti

    Abstract: This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialisation-based techniques for translating verification problems for different programming languages, and in general software systems, into satisfiability problems for constrained Horn claus… ▽ More

    Submitted 2 August, 2021; originally announced August 2021.

    Comments: Under consideration in Theory and Practice of Logic Programming (TPLP)

  9. arXiv:2106.07045  [pdf, other

    cs.PL

    VeriFly: On-the-fly Assertion Checking via Incrementality

    Authors: Miguel A. Sanchez-Ordaz, Isabel Garcia-Contreras, Victor Perez-Carrasco, Jose F. Morales, Pedro lopez-Garcia, Manuel V. Hermenegildo

    Abstract: Assertion checking is an invaluable programmer's tool for finding many classes of errors or verifying their absence in dynamic languages such as Prolog. For Prolog programmers this means being able to have relevant properties such as modes, types, determinacy, non-failure, sharing, constraints, cost, etc., checked and errors flagged without having to actually run the program. Such global static an… ▽ More

    Submitted 17 August, 2021; v1 submitted 13 June, 2021; originally announced June 2021.

    Comments: Paper presented at the 37th International Conference on Logic Programming (ICLP 2021), 16 pages

    Report number: CLIP-1/2021.0

  10. arXiv:2008.02931  [pdf, other

    cs.PL cs.LO cs.SC

    From Big-Step to Small-Step Semantics and Back with Interpreter Specialisation

    Authors: John P. Gallagher, Manuel Hermenegildo, Bishoksan Kafle, Maximiliano Klemen, Pedro López García, José Morales

    Abstract: We investigate representations of imperative programs as constrained Horn clauses. Starting from operational semantics transition rules, we proceed by writing interpreters as constrained Horn clause programs directly encoding the rules. We then specialise an interpreter with respect to a given source program to achieve a compilation of the source language to Horn clauses (an instance of the first… ▽ More

    Submitted 6 August, 2020; originally announced August 2020.

    Comments: In Proceedings VPT/HCVS 2020, arXiv:2008.02483

    Journal ref: EPTCS 320, 2020, pp. 50-64

  11. arXiv:1907.13272  [pdf, ps, other

    cs.PL

    Towards a General Framework for Static Cost Analysis of Parallel Logic Programs

    Authors: Maximiliano Klemen, Pedro Lopez-Garcia, John P. Gallagher, Jose F. Morales, Manuel V. Hermenegildo

    Abstract: The estimation and control of resource usage is now an important challenge in an increasing number of computing systems. In particular, requirements on timing and energy arise in a wide variety of applications such as internet of things, cloud computing, health, transportation, and robots. At the same time, parallel computing, with (heterogeneous) multi-core platforms in particular, has become the… ▽ More

    Submitted 30 July, 2019; originally announced July 2019.

    Comments: 19 pages, 3 tables; submitted to ICLP'19, accepted as technical communication

    Report number: CLIP-1/2019.0

  12. arXiv:1907.13263  [pdf, other

    cs.PL cs.LO

    Computing Abstract Distances in Logic Programs

    Authors: Ignacio Casso, Jose F. Morales, Pedro Lopez-Garcia, Manuel V. Hermenegildo

    Abstract: Abstract interpretation is a well-established technique for performing static analyses of logic programs. However, choosing the abstract domain, widening, fixpoint, etc. that provides the best precision-cost trade-off remains an open problem. This is in a good part because of the challenges involved in measuring and comparing the precision of different analyses. We propose a new approach for measu… ▽ More

    Submitted 30 July, 2019; originally announced July 2019.

    Comments: 21 pages, 8 figures; submitted to ICLP'19, accepted as technical communication

    Report number: CLIP-2/2019.0

  13. arXiv:1808.05197  [pdf, ps, other

    cs.PL cs.LO

    Multivariant Assertion-based Guidance in Abstract Interpretation

    Authors: Isabel Garcia-Contreras, Jose F. Morales, Manuel V. Hermenegildo

    Abstract: Approximations during program analysis are a necessary evil, as they ensure essential properties, such as soundness and termination of the analysis, but they also imply not always producing useful results. Automatic techniques have been studied to prevent precision loss, typically at the expense of larger resource consumption. In both cases (i.e., when analysis produces inaccurate results and when… ▽ More

    Submitted 17 December, 2018; v1 submitted 15 August, 2018; originally announced August 2018.

    Comments: Pre-proceedings paper presented at the 28th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2018), Frankfurt am Main, Germany, 4-6 September 2018 (arXiv:1808.03326)

    Report number: LOPSTR/2018/29

  14. arXiv:1804.02380  [pdf, other

    cs.PL

    An Approach to Static Performance Guarantees for Programs with Run-time Checks

    Authors: Maximiliano Klemen, Nataliia Stulova, Pedro Lopez-Garcia, José F. Morales, Manuel V. Hermenegildo

    Abstract: Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as Prolog. However, such run-time checks inevitably introduce run-time overhead (in execution time, memory, energy, etc.). Several approaches have been proposed for… ▽ More

    Submitted 6 April, 2018; originally announced April 2018.

    Comments: 15 pages, 3 tables; submitted to ICLP'18, accepted as technical communication

    Report number: CLIP-1/2018.0

  15. Incremental and Modular Context-sensitive Analysis

    Authors: Isabel Garcia-Contreras, Jose F. Morales, Manuel V. Hermenegildo

    Abstract: Context-sensitive global analysis of large code bases can be expensive, which can make its use impractical during software development. However, there are many situations in which modifications are small and isolated within a few components, and it is desirable to reuse as much as possible previous analysis results. This has been achieved to date through incremental global analysis fixpoint algori… ▽ More

    Submitted 18 December, 2020; v1 submitted 5 April, 2018; originally announced April 2018.

    Comments: 56 pages, 27 figures. To be published in Theory and Practice of Logic Programming. v3 corresponds to the extended version of the ICLP2018 Technical Communication. v4 is the revised version submitted to Theory and Practice of Logic Programming. v5 (this one) is the final author version to be published in TPLP

    Report number: CLIP-2/2018 version 4 (July 2019) ACM Class: D.2.4; F.3.1; I.2.2; I.2.3

    Journal ref: Theory and Practice of Logic Programming 21 (2021) 196-243

  16. arXiv:1803.04451  [pdf, other

    cs.PL cs.LO

    Interval-based Resource Usage Verification by Translation into Horn Clauses and an Application to Energy Consumption

    Authors: Pedro Lopez-Garcia, Luthfi Darmawan, Maximiliano Klemen, Umer Liqat, Francisco Bueno, Manuel V. Hermenegildo

    Abstract: Many applications require conformance with specifications that constrain the use of resources, such as execution time, energy, bandwidth, etc. We have presented a configurable framework for static resource usage verification where specifications can include lower and upper bound, data size-dependent resource usage functions. To statically check such specifications, our framework infers the same ty… ▽ More

    Submitted 12 March, 2018; originally announced March 2018.

    Comments: Under consideration for publication in Theory and Practice of Logic Programming (TPLP)

  17. arXiv:1705.06662  [pdf, other

    cs.PL

    Exploiting Term Hiding to Reduce Run-time Checking Overhead

    Authors: Nataliia Stulova, José F. Morales, Manuel V. Hermenegildo

    Abstract: One of the most attractive features of untyped languages is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring the correctness of these operations. A solution is adding run-time checks to the program via assertions, but this can introduce overheads that are in many cases impractical. While static analysis can greatly reduce such overhea… ▽ More

    Submitted 15 October, 2017; v1 submitted 18 May, 2017; originally announced May 2017.

    Comments: 26 pages, 10 figures, 2 tables; an extension of the paper version accepted to PADL'18 (includes proofs, extra figures and examples omitted due to space reasons)

    ACM Class: D.1.6; D.2.4; D.2.11; D.3.3; F.3.1; F.3.2

  18. arXiv:1608.02780  [pdf, ps, other

    cs.PL cs.DC

    A General Framework for Static Profiling of Parametric Resource Usage

    Authors: Pedro Lopez-Garcia, Maximiliano Klemen, Umer Liqat, Manuel V. Hermenegildo

    Abstract: Traditional static resource analyses estimate the total resource usage of a program, without executing it. In this paper we present a novel resource analysis whose aim is instead the static profiling of accumulated cost, i.e., to discover, for selected parts of the program, an estimate or bound of the resource usage accumulated in each of those parts. Traditional resource analyses are parametric i… ▽ More

    Submitted 17 October, 2016; v1 submitted 9 August, 2016; originally announced August 2016.

    Comments: Paper presented at the 32nd International Conference on Logic Programming (ICLP 2016), New York City, USA, 16-21 October 2016, 22 pages, LaTeX

  19. arXiv:1608.02565  [pdf, ps, other

    cs.PL

    Semantic Code Browsing

    Authors: Isabel Garcia-Contreras, Jose F. Morales, Manuel V. Hermenegildo

    Abstract: Programmers currently enjoy access to a very high number of code repositories and libraries of ever increasing size. The ensuing potential for reuse is however hampered by the fact that searching within all this code becomes an increasingly difficult task. Most code search engines are based on syntactic techniques such as signature matching or keyword extraction. However, these techniques are inac… ▽ More

    Submitted 8 August, 2016; originally announced August 2016.

    Comments: Paper presented at the 32nd International Conference on Logic Programming (ICLP 2016), New York City, USA, 16-21 October 2016, 15 pages, LaTeX, 4 PDF figures, 2 tables

  20. arXiv:1608.02534   

    cs.PL cs.LO

    Pre-proceedings of the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016)

    Authors: Manuel V. Hermenegildo, Pedro Lopez-Garcia

    Abstract: This volume constitutes the pre-proceedings of the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016), held on 6-8th September 2016 in Edinburgh, Scotland UK, and co-located with the 18th International Symposium on Principles and Practice of Declarative Programming (PPDP 2016) and the 23rd Static Analysis Symposium (SAS 2016). After discussion at the sym… ▽ More

    Submitted 1 September, 2016; v1 submitted 8 August, 2016; originally announced August 2016.

    Comments: Papers selected for presentation at LOPSTR 2016

  21. ENTRA: Whole-Systems Energy Transparency

    Authors: Kerstin Eder, John P. Gallagher, Pedro Lopez-Garcia, Henk Muller, Zorana Bankovic, Kyriakos Georgiou, Remy Haemmerle, Manuel V. Hermenegildo, Bishoksan Kafle, Steve Kerrison, Maja Kirkeby, Maximiliano Klemen, Xueliang Li, Umer Liqat, Jeremy Morse, Morten Rhiger, Mads Rosendahl

    Abstract: Promoting energy efficiency to a first class system design goal is an important research challenge. Although more energy-efficient hardware can be designed, it is software that controls the hardware; for a given system the potential for energy savings is likely to be much greater at the higher levels of abstraction in the system stack. Thus the greatest savings are expected from energy-aware softw… ▽ More

    Submitted 18 June, 2016; v1 submitted 13 June, 2016; originally announced June 2016.

    Comments: Revised preprint submitted to MICPRO on 27 May 2016, 23 pages, 3 figures

  22. arXiv:1601.02800  [pdf, other

    cs.DC cs.PL

    Inferring Energy Bounds via Static Program Analysis and Evolutionary Modeling of Basic Blocks

    Authors: Umer Liqat, Zorana Bankovic, Pedro Lopez-Garcia, Manuel V. Hermenegildo

    Abstract: The ever increasing number and complexity of energy-bound devices (such as the ones used in Internet of Things applications, smart phones, and mission critical systems) pose an important challenge on techniques to optimize their energy consumption and to verify that they will perform their function within the available energy budget. In this work we address this challenge from the software point o… ▽ More

    Submitted 22 September, 2017; v1 submitted 12 January, 2016; originally announced January 2016.

    Comments: Pre-proceedings paper presented at the 27th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2017), Namur, Belgium, 10-12 October 2017 (arXiv:1708.07854). Improved version of the one presented at the HIP3ES 2016 workshop (v1): more experimental results (added benchmark to Table 1, added figure for new benchmark, added Table 3), improved Fig. 1, added Fig. 4

    Report number: LOPSTR/2017/31

  23. arXiv:1512.09369  [pdf, other

    cs.PL cs.DC cs.LO

    Towards Energy Consumption Verification via Static Analysis

    Authors: Pedro Lopez-Garcia, Remy Haemmerle, Maximiliano Klemen, Umer Liqat, Manuel V. Hermenegildo

    Abstract: In this paper we leverage an existing general framework for resource usage verification and specialize it for verifying energy consumption specifications of embedded programs. Such specifications can include both lower and upper bounds on energy usage, and they can express intervals within which energy usage is to be certified to be within such bounds. The bounds of the intervals can be given in g… ▽ More

    Submitted 31 December, 2015; originally announced December 2015.

    Comments: Presented at HIP3ES, 2015 (arXiv: 1501.03064)

    Report number: HIP3ES/2015/04 ACM Class: F.3.2; D.3.4; D.2.8

  24. Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR

    Authors: Umer Liqat, Kyriakos Georgiou, Steve Kerrison, Pedro Lopez-Garcia, John P. Gallagher, Manuel V. Hermenegildo, Kerstin Eder

    Abstract: The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis wh… ▽ More

    Submitted 4 November, 2015; originally announced November 2015.

    Comments: 22 pages, 4 figures, 2 tables

    ACM Class: F.3.2; D.3.4; D.2.8

  25. Practical Run-time Checking via Unobtrusive Property Caching

    Authors: Nataliia Stulova, José F. Morales, Manuel V. Hermenegildo

    Abstract: The use of annotations, referred to as assertions or contracts, to describe program properties for which run-time tests are to be generated, has become frequent in dynamic programing languages. However, the frameworks proposed to support such run-time testing generally incur high time and/or space overheads over standard program execution. We present an approach for reducing this overhead that is… ▽ More

    Submitted 23 July, 2015; v1 submitted 21 July, 2015; originally announced July 2015.

    Comments: 30 pages, 1 table, 170 figures; added appendix with plots; To appear in Theory and Practice of Logic Programming (TPLP), Proceedings of ICLP 2015

    ACM Class: D.1.6; D.2.4; F.3.1; F.3.2

    Journal ref: Theory and Practice of Logic Programming 15 (2015) 726-741

  26. arXiv:1501.03064   

    cs.DC

    Proceedings of the Workshop on High Performance Energy Efficient Embedded Systems (HIP3ES) 2015

    Authors: Francisco Corbera, Andrés Rodríguez, Rafael Asenjo, Angeles Navarro, Antonio Vilches, Maria Garzaran, Ismat Chaib Draa, Jamel Tayeb, Smail Niar, Mikael Desertot, Daniel Gregorek, Robert Schmidt, Alberto Garcia-Ortiz, Pedro Lopez-Garcia, Rémy Haemmerlé, Maximiliano Klemen, Umer Liqat, Manuel V. Hermenegildo, Radim Vavřík, Albert Saà-Garriga, David Castells-Rufas, Jordi Carrabina

    Abstract: Proceedings of the Workshop on High Performance Energy Efficient Embedded Systems (HIP3ES) 2015. Amsterdam, January 21st. Collocated with HIPEAC 2015 Conference.

    Submitted 13 January, 2015; originally announced January 2015.

  27. Description and Optimization of Abstract Machines in a Dialect of Prolog

    Authors: Jose F. Morales, Manuel Carro, Manuel Hermenegildo

    Abstract: In order to achieve competitive performance, abstract machines for Prolog and related languages end up being large and intricate, and incorporate sophisticated optimizations, both at the design and at the implementation levels. At the same time, efficiency considerations make it necessary to use low-level languages in their implementation. This makes them laborious to code, optimize, and, especial… ▽ More

    Submitted 20 November, 2014; originally announced November 2014.

    Comments: 56 pages, 46 figures, 5 tables, To appear in Theory and Practice of Logic Programming (TPLP)

    ACM Class: D.1.6; D.3.3; D.3.4

    Journal ref: Theory and Practice of Logic Programming 16 (2016) 1-58

  28. arXiv:1405.7898  [pdf, ps, other

    cs.PL

    Towards Assertion-based Debugging of Higher-Order (C)LP Programs

    Authors: Nataliia Stulova, José F. Morales, Manuel V. Hermenegildo

    Abstract: Higher-order constructs extend the expressiveness of first-order (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher order to date. Our work contribut… ▽ More

    Submitted 2 June, 2014; v1 submitted 14 May, 2014; originally announced May 2014.

    Comments: 2 pages, to be published as a technical communication in the on-line addendum of the special issue(s) of the TPLP journal for ICLP14. To appear in Theory and Practice of Logic Programming (TPLP). arXiv admin note: substantial text overlap with arXiv:1404.4246; corrected the header publication info and submission, revision and acceptance dates

  29. Resource Usage Analysis of Logic Programs via Abstract Interpretation Using Sized Types

    Authors: Alejandro Serrano, Pedro Lopez-Garcia, Manuel V. Hermenegildo

    Abstract: We present a novel general resource analysis for logic programs based on sized types. Sized types are representations that incorporate structural (shape) information and allow expressing both lower and upper bounds on the size of a set of terms and their subterms at any position and depth. They also allow relating the sizes of terms and subterms occurring at different argument positions in logic p… ▽ More

    Submitted 16 May, 2014; originally announced May 2014.

    Comments: To appear in Theory and Practice of Logic Programming (TPLP), improved version of arXiv:1308.3940 (which was conference version)

    Journal ref: Theory and Practice of Logic Programming 14 (2014) 739-754

  30. arXiv:1404.4246  [pdf, ps, other

    cs.PL

    An Approach to Assertion-based Debugging of Higher-Order (C)LP Programs

    Authors: Nataliia Stulova, José F. Morales, Manuel V. Hermenegildo

    Abstract: Higher-order constructs extend the expressiveness of first-order (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contrib… ▽ More

    Submitted 16 April, 2014; originally announced April 2014.

    Comments: 24 pages, 1 figure. A 2-page extended abstract to be published as a technical communication in the on-line addendum of the special issue(s) of the TPLP journal for ICLP14

    Report number: CLIP-1/2014.0 ACM Class: D.1.6; D.2.4; D.3.3; F.3.1; F.3.2

  31. arXiv:1308.3940  [pdf, ps, other

    cs.PL

    Towards an Abstract Domain for Resource Analysis of Logic Programs Using Sized Types

    Authors: Alejandro Serrano, Pedro López-García, Manuel Hermenegildo

    Abstract: We present a novel general resource analysis for logic programs based on sized types.Sized types are representations that incorporate structural (shape) information and allow expressing both lower and upper bounds on the size of a set of terms and their subterms at any position and depth. They also allow relating the sizes of terms and subterms occurring at different argument positions in logic pr… ▽ More

    Submitted 19 August, 2013; originally announced August 2013.

    Comments: Part of WLPE 2013 proceedings (arXiv:1308.2055)

    Report number: WLPE/2013/5

  32. arXiv:1301.7702  [pdf, ps, other

    cs.PL

    The Ciao clp(FD) Library. A Modular CLP Extension for Prolog

    Authors: Emilio Jesús Gallego Arias, Rémy Haemmerlé, Manuel V. Hermenegildo, José F. Morales

    Abstract: We present a new free library for Constraint Logic Programming over Finite Domains, included with the Ciao Prolog system. The library is entirely written in Prolog, leveraging on Ciao's module system and code transformation capabilities in order to achieve a highly modular design without compromising performance. We describe the interface, implementation, and design rationale of each modular compo… ▽ More

    Submitted 31 January, 2013; originally announced January 2013.

    Comments: Appeared in CICLOPS 2012. 15 Pages, 5 Figures

  33. arXiv:1301.7694  [pdf, other

    cs.PL

    Reversible Language Extensions and their Application in Debugging

    Authors: Zoé Drey, José F. Morales, Manuel V. Hermenegildo

    Abstract: A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages. A simple yet powerful technique is based on source-to-source transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. W… ▽ More

    Submitted 31 January, 2013; originally announced January 2013.

    Comments: Appeared in CICLOPS 2012. 15 Pages, 7 Figures

  34. Lightweight compilation of (C)LP to JavaScript

    Authors: Jose F. Morales, Rémy Haemmerlé, Manuel Carro, Manuel V. Hermenegildo

    Abstract: We present and evaluate a compiler from Prolog (and extensions) to JavaScript which makes it possible to use (constraint) logic programming to develop the client side of web applications while being compliant with current industry standards. Targeting JavaScript makes (C)LP programs executable in virtually every modern computing device with no additional software requirements from the point of vie… ▽ More

    Submitted 10 October, 2012; originally announced October 2012.

    ACM Class: D.3.4; D.1.6

    Journal ref: Theory and Practice of Logic Programming, 12(4-5): 755-773, 2012

  35. arXiv:1107.4724  [pdf, ps, other

    cs.PL cs.DC

    Parallel Backtracking with Answer Memoing for Independent And-Parallelism

    Authors: Pablo Chico de Guzmán, Amadeo Casas, Manuel Carro, Manuel V. Hermenegildo

    Abstract: Goal-level Independent and-parallelism (IAP) is exploited by scheduling for simultaneous execution two or more goals which will not interfere with each other at run time. This can be done safely even if such goals can produce multiple answers. The most successful IAP implementations to date have used recomputation of answers and sequentially ordered backtracking. While in principle simplifying the… ▽ More

    Submitted 24 July, 2011; originally announced July 2011.

    Comments: 19 pages, 15 figures, uses tlp style

    Journal ref: Theory and Practice of Logic Programming (2011) volume 11, issue 4-5, pages 555-574

  36. arXiv:1102.5497  [pdf, other

    cs.PL

    An overview of Ciao and its design philosophy

    Authors: M. V. Hermenegildo, F. Bueno, M. Carro, P. López-García, E. Mera, J. F. Morales, G. Puebla

    Abstract: We provide an overall description of the Ciao multiparadigm programming system emphasizing some of the novel aspects and motivations behind its design and implementation. An important aspect of Ciao is that, in addition to supporting logic programming (and, in particular, Prolog), it provides the programmer with a large number of useful features from different programming paradigms and styles, and… ▽ More

    Submitted 27 February, 2011; originally announced February 2011.

    Comments: Number of pages: 30, Number of figures: 14, Number of tables: 0. Accepted for publication in TPLP (CUP)

  37. arXiv:1010.4533  [pdf, ps, other

    cs.PL

    Certificate size reduction in Abstraction-Carrying Code

    Authors: Elvira Albert, Puri Arenas, Germán Puebla, Manuel Hermenegildo

    Abstract: Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in which the code supplier provides a program together with an abstraction (or abstract model of the program) whose validity entails compliance with a predefined safety policy. The advantage of providing a (fixpoint) abstraction to the code consumer is that its validity is checked in a single pass (i.e., one ite… ▽ More

    Submitted 13 October, 2010; originally announced October 2010.

    Comments: 35 pages, 1 figure, 2 tables

  38. arXiv:1008.1710  [pdf, ps, other

    cs.AI cs.LO

    Introduction to the 26th International Conference on Logic Programming Special Issue

    Authors: Manuel Hermenegildo, Torsten Schaub

    Abstract: This is the preface to the 26th International Conference on Logic Programming Special Issue

    Submitted 10 August, 2010; originally announced August 2010.

    Comments: 6 pages

  39. arXiv:1002.1836  [pdf, ps, other

    cs.LO cs.PL

    Towards Parameterized Regular Type Inference Using Set Constraints

    Authors: F. Bueno, J. Navas, M. Hermenegildo

    Abstract: We propose a method for inferring \emph{parameterized regular types} for logic programs as solutions for systems of constraints over sets of finite ground Herbrand terms (set constraint systems). Such parameterized regular types generalize \emph{parametric} regular types by extending the scope of the parameters in the type definitions so that such parameters can relate the types of different pre… ▽ More

    Submitted 9 February, 2010; originally announced February 2010.

    Journal ref: WLPE 2009 Proceedings

  40. arXiv:0911.4047  [pdf, ps, other

    cs.PL cs.PF

    Efficient Local Unfolding with Ancestor Stacks

    Authors: G. Puebla, E. Albert, M. Hermenegildo

    Abstract: The most successful unfolding rules used nowadays in the partial evaluation of logic programs are based on well quasi orders (wqo) applied over (covering) ancestors, i.e., a subsequence of the atoms selected during a derivation. Ancestor (sub)sequences are used to increase the specialization power of unfolding while still guaranteeing termination and also to reduce the number of atoms for which… ▽ More

    Submitted 20 November, 2009; originally announced November 2009.

    Comments: Number of pages: 32 Number of figures: 7 Number of Tables: 3

  41. arXiv:0901.3906  [pdf, other

    cs.PL

    A Program Transformation for Continuation Call-Based Tabled Execution

    Authors: Pablo Chico de Guzman, Manuel Carro, Manuel V. Hermenegildo

    Abstract: The advantages of tabled evaluation regarding program termination and reduction of complexity are well known --as are the significant implementation, portability, and maintenance efforts that some proposals (especially those based on suspension) require. This implementation effort is reduced by program transformation-based continuation call techniques, at some efficiency cost. However, the tradi… ▽ More

    Submitted 25 January, 2009; originally announced January 2009.

    Comments: Part of the proceedings of CICLOPS 2008

    ACM Class: D.1.6, D.3.3

  42. arXiv:cs/0701108  [pdf, ps, other

    cs.PL

    Towards Execution Time Estimation for Logic Programs via Static Analysis and Profiling

    Authors: Edison Mera, Pedro Lopez-Garcia, German Puebla, Manuel Carro, Manuel Hermenegildo

    Abstract: Effective static analyses have been proposed which infer bounds on the number of resolutions or reductions. These have the advantage of being independent from the platform on which the programs are executed and have been shown to be useful in a number of applications, such as granularity control in parallel execution. On the other hand, in distributed computation scenarios where platforms with d… ▽ More

    Submitted 17 January, 2007; originally announced January 2007.

    Comments: Paper presented at the 16th Workshop on Logic-based Methods in Programming Environments

  43. arXiv:cs/0508112  [pdf, ps, other

    cs.LO

    A study of set-sharing analysis via cliques

    Authors: Jorge Navas, Francisco Bueno, Manuel Hermenegildo

    Abstract: We study the problem of efficient, scalable set-sharing analysis of logic programs. We use the idea of representing sharing information as a pair of abstract substitutions, one of which is a worst-case sharing representation called a clique set, which was previously proposed for the case of inferring pair-sharing. We use the clique-set representation for (1) inferring actual set-sharing informat… ▽ More

    Submitted 25 August, 2005; originally announced August 2005.

    Comments: 15 pages, 0 figures

  44. arXiv:cs/0508111  [pdf, ps, other

    cs.PL cs.SE

    A Generic Framework for the Analysis and Specialization of Logic Programs

    Authors: German Puebla, Elvira Albert, Manuel Hermenegildo

    Abstract: The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In this work we present what we argue is the first fully described generic algorithm for efficient and precise integration of abstract interpretation and partial… ▽ More

    Submitted 24 August, 2005; originally announced August 2005.

    Comments: In A. Serebrenik and S. Munoz-Hernandez (editors), Proceedings of the 15th Workshop on Logic-based methods in Programming Environments October 2005, Sitges. cs.PL/0508078

    ACM Class: D.2.6

  45. arXiv:cs/0312031  [pdf, ps, other

    cs.DC cs.PL

    Distributed WWW Programming using (Ciao-)Prolog and the PiLLoW library

    Authors: Daniel Cabeza, Manuel V. Hermenegildo

    Abstract: We discuss from a practical point of view a number of issues involved in writing distributed Internet and WWW applications using LP/CLP systems. We describe PiLLoW, a public-domain Internet and WWW programming library for LP/CLP systems that we have designed in order to simplify the process of writing such applications. PiLLoW provides facilities for accessing documents and code on the WWW; pars… ▽ More

    Submitted 16 December, 2003; originally announced December 2003.

    Comments: 32 pages, 4 figures

    ACM Class: D.1.3; D.1.6

    Journal ref: Theory and Practice of Logic Programming, Vol 1(3), 2001, 251-282