Author:
SERRANO A.,LOPEZ-GARCIA P.,HERMENEGILDO M. V.
Abstract
AbstractWe 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.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
29 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Solving Recurrence Relations using Machine Learning, with Application to Cost Analysis;Electronic Proceedings in Theoretical Computer Science;2023-09-12
2. Automatic Amortized Resource Analysis with Regular Recursive Types;2023 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS);2023-06-26
3. Execution Time Program Verification with Tight Bounds;Practical Aspects of Declarative Languages;2023
4. Types, Modes and so Much More – The Prolog Way;Prolog: The Next 50 Years;2023
5. Parallel Logic Programming: A Sequel;Theory and Practice of Logic Programming;2022-03-28