Skip to main content
×
Home
    • Aa
    • Aa

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

  • A. SERRANO (a1), P. LOPEZ-GARCIA (a2) (a3) and M. V. HERMENEGILDO (a3) (a4)
Abstract
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 predicates. Using these sized types, the resource analysis can infer both lower and upper bounds on the resources used by all the procedures in a program as functions on input term (and subterm) sizes, overcoming limitations of existing resource analyses and enhancing their precision. Our new resource analysis has been developed within the abstract interpretation framework, as an extension of the sized types abstract domain, and has been integrated into the Ciao preprocessor, CiaoPP. The abstract domain operations are integrated with the setting up and solving of recurrence equations for inferring both size and resource usage functions. We show that the analysis is an improvement over the previous resource analysis present in CiaoPP and compares well in power to state of the art systems.

Copyright
Footnotes
Hide All

A. Serrano performed this work during his former affiliation to the IMDEA Software Institute.

*

This research was supported in part by projects EU FP7 318337 ENTRA, Spanish MINECO TIN2012-39391 StrongSoft and TIN2008-05624 DOVES, and Madrid TIC/1465 PROMETIDOS-CM.

Footnotes
References
Hide All
M. Bruynooghe 1991. A practical framework for the abstract interpretation of logic programs. J. Log. Program. 10, 2, 91124.

P. Cousot and R. Cousot 1992. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming 13, 2-3, 103179.

S. K. Debray and N. W. Lin 1993. Cost Analysis of Logic Programs. ACM Transactions on Programming Languages and Systems 15, 5 (November), 826875.

J. Hoffmann , K. Aehlig , and M. Hofmann 2012. Multivariate amortized resource analysis. ACM Trans. Program. Lang. Syst. 34, 3, 14.

P. López-García , F. Bueno , and M. Hermenegildo 2010. Automatic Inference of Determinacy and Mutual Exclusion for Logic Programs Using Mode and Type Information. New Generation Computing 28, 2, 117206.

K. Muthukumar and M. Hermenegildo 1992. Compile-time Derivation of Variable Dependency Using Abstract Interpretation. Journal of Logic Programming 13, 2/3 (July), 315347.

C. Vaucheret and F. Bueno 2002. More Precise yet Efficient Type Inference for Logic Programs. In International Static Analysis Symposium. Lecture Notes in Computer Science, vol. 2477. Springer-Verlag, 102116.

B. Wegbreit 1975. Mechanical Program Analysis. Communications of the ACM 18, 9 (September), 528539.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×
Type Description Title
PDF
Supplementary Materials

SERRANO et al.
Resource Usage Analysis of Logic Programs via Abstract Interpretation Using Sized Types

 PDF (271 KB)
271 KB

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 17 *
Loading metrics...

Abstract views

Total abstract views: 103 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 17th October 2017. This data will be updated every 24 hours.