A practical framework for the abstract interpretation of logic programs
Journal of Logic Programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Regular Tree Languages as an Abstract Domain in Program Specialisation
Higher-Order and Symbolic Computation
Java Virtual Machine Specification
Java Virtual Machine Specification
An Assertion Language for Constraint Logic Programs
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
Optimized Algorithms for Incremental Analysis of Logic Programs
SAS '96 Proceedings of the Third International Symposium on Static Analysis
More Precise Yet Efficient Type Inference for Logic Programs
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Temporal Logic for Proof-Carrying Code
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
Java Bytecode Verification: Algorithms and Formalizations
Journal of Automated Reasoning
Model-carrying code: a practical approach for safe execution of untrusted applications
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Program development using abstract interpretation (and the ciao system preprocessor)
SAS'03 Proceedings of the 10th international conference on Static analysis
Call pattern analysis for functional logic programs
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Hi-index | 0.00 |
Recent approaches to mobile code safety, like proof-carrying code, involve associating safety information to programs. The code supplier provides a program and also includes with it a certificate (or proof) whose validity entails compliance with a predefined safety policy. The intended benefit is that the program consumer can locally validate the certificate w.r.t. the ''untrusted'' program by means of a certificate checker-a process which should be much simpler, efficient, and automatic than generating the original proof. We herein introduce a novel approach to mobile code safety which follows a similar scheme, but which is based throughout on the use of abstract interpretation techniques. In our framework the safety policy is specified by using an expressive assertion language defined over abstract domains. We identify a particular slice of the abstract interpretation-based static analysis results which is especially useful as a certificate. The validity of the certificate on the consumer side is checked by a very simplified and efficient specialized abstract-interpreter. Our ideas are illustrated through an example implemented in the context of constraint logic programs, using the CiaoPP system. Though further experimentation is still required, we believe the pro- posed approach is of interest for bringing the automation and expressiveness which is inherent in the abstract interpretation techniques to the area of mobile code safety.