Incremental analysis of logic programs with assertions and open predicates

García Contreras, Isabel, Morales Caballero, José Francisco and Hermenegildo, Manuel V. ORCID: https://orcid.org/0000-0002-7583-323X (2019). Incremental analysis of logic programs with assertions and open predicates. In: "29th International Symposium on Logic-Based Program Synthesis and Transformation ( LOPSTR 2019)", 8-10 Oct 2019, Oporto, Portugal. ISBN 978-3-030-45259-9. pp. 36-56. https://doi.org/10.1007/978-3-030-45260-5_3.

Description

Title: Incremental analysis of logic programs with assertions and open predicates
Author/s:
Item Type: Presentation at Congress or Conference (Article)
Event Title: 29th International Symposium on Logic-Based Program Synthesis and Transformation ( LOPSTR 2019)
Event Dates: 8-10 Oct 2019
Event Location: Oporto, Portugal
Title of Book: Logic-Based Program Synthesis and Transformation
Date: 2019
ISBN: 978-3-030-45259-9
Volume: 12042
Subjects:
Freetext Keywords: Incremental static analysis; Assertions; Logic programming; Generic code specifications; Abstract interpretation
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of HERMENEGILDO_2019-02.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Generic components represent a further abstraction over the concept of modules, which introduces dependencies on other (not necessarily available) components implementing specified interfaces. It has become a key concept in large and complex software applications. Despite its undeniable advantages, generic code is known to be anti-modular. Precise analysis (e.g., for detecting bugs or optimizing code) requires such code to be instantiated with concrete implementations, potentially leading to a prohibitively expensive combinatorial explosion. In this paper we claim that incremental (whole program) analysis can be very beneficial in this context, and alleviate the anti-modularity nature of generic code. We propose a simple Horn-clause encoding of generic programs, using open predicates and assertions, and we introduce a new incremental analysis algorithm that reacts incrementally not only to changes in program clauses, but also to changes in the assertions, upon which large parts of the analysis graph may depend. We also discuss the application of the proposed techniques in a number of practical use cases. In addition, as a realistic case study, we apply the proposed techniques in the analysis of the LPdoc documentation system. We argue that the proposed traits are a convenient and elegant abstraction for modular generic programming, and that our preliminary results support the conclusion that the new incrementality-related features added to the analysis bring promising analysis performance advantages.

Funding Projects

Type
Code
Acronym
Leader
Title
Government of Spain
TIN2015-67522-C3-1-R
TRACES
Fundación IMDEA Software
Tecnologías y herramientas para el desarrollo de software consciente de los recursos, correcto y eficiente (IMDEA)
Madrid Regional Government
P2018/TCS-4339
BLOQUES-CM
Unspecified
Contratos inteligentes y blockchains escalables y seguros mediante verificación y análisis

More information

Item ID: 62521
DC Identifier: https://oa.upm.es/62521/
OAI Identifier: oai:oa.upm.es:62521
DOI: 10.1007/978-3-030-45260-5_3
Official URL: https://link.springer.com/content/pdf/10.1007%2F97...
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 29 Apr 2020 10:18
Last Modified: 30 Nov 2022 09:00
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM