Certificate size reduction in abstraction-carrying code
-
Published:2011-01-05
Issue:3
Volume:12
Page:283-318
-
ISSN:1471-0684
-
Container-title:Theory and Practice of Logic Programming
-
language:en
-
Short-container-title:Theory and Practice of Logic Programming
Author:
ALBERT ELVIRA,ARENAS PURI,PUEBLA GERMÁN,HERMENEGILDO MANUEL
Abstract
AbstractAbstraction-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 abstraction plays thus the role of safety certificate and its generation is carried out automatically by a fixpoint analyzer. The advantage of providing a (fixpoint) abstraction to the code consumer is that its validity is checked in a single pass (i.e., one iteration) of an abstract interpretation-based checker. A main challenge to make ACC useful in practice is to reduce the size of certificates as much as possible while at the same time not increasing checking time. The intuitive idea is to only include in the certificate information that the checker is unable to reproduce without iterating. We introduce the notion of reduced certificate which characterizes the subset of the abstraction which a checker needs in order to validate (and re-construct) the full certificate in a single pass. Based on this notion, we instrument a generic analysis algorithm with the necessary extensions in order to identify the information relevant to the checker. Interestingly, the fact that the reduced certificate omits (parts of) the abstraction has implications in the design of the checker. We provide the sufficient conditions which allow us to ensure that (1) if the checker succeeds in validating the certificate, then the certificate is valid for the program (correctness) and (2) the checker will succeed for any reduced certificate which is valid (completeness). Our approach has been implemented and benchmarked within the CiaoPP system. The experimental results show that our proposal is able to greatly reduce the size of certificates in practice.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Semi-automatic ladderisation: improving code security through rewriting and dependent types;Proceedings of the 2022 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation;2022-01-15
2. Type-Driven Verification of Non-functional Properties;Proceedings of the 21st International Symposium on Principles and Practice of Programming Languages 2019;2019-10-07
3. A trustworthy framework for resource-aware embedded programming;Proceedings of the 31st Symposium on Implementation and Application of Functional Languages;2019-09-25
4. Certifying execution time in multicores;Science of Computer Programming;2015-11
5. A formal verification framework for static analysis;Software & Systems Modeling;2015-07-15