User-definable resource bounds analysis for logic programs

  • Authors:
  • Jorge Navas;Edison Mera;Pedro López-García;Manuel V. Hermenegildo

  • Affiliations:
  • University of New Mexico;Complutense University of Madrid, Spain;Technical University of Madrid, Spain;University of New Mexico and Technical University of Madrid, Spain

  • Venue:
  • ICLP'07 Proceedings of the 23rd international conference on Logic programming
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a static analysis that infers both upper and lower bounds on the usage that a logic program makes of a set of user-definable resources. The inferred bounds will in general be functions of input data sizes. A resource in our approach is a quite general, user-defined notion which associates a basic cost function with elementary operations. The analysis then derives the related (upper- and lower-bound) resource usage functions for all predicates in the program. We also present an assertion language which is used to define both such resources and resourcerelated properties that the system can then check based on the results of the analysis. We have performed some preliminary experiments with some concrete resources such as execution steps, bytes sent or received by an application, number of files left open, number of accesses to a database, number of calls to a procedure, number of asserts/retracts, etc. Applications of our analysis include resource consumption verification and debugging (including for mobile code), resource control in parallel/distributed computing, and resource-oriented specialization.