Skip to main content

An Incremental Approach to Abstraction-Carrying Code

  • Conference paper
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2006)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 4246))

Abstract

Abstraction-Carrying Code (ACC) has recently been proposed as a framework for Proof-Carrying Code (PCC) 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. Existing approaches for PCC are developed under the assumption that the consumer reads and validates the entire program w.r.t. the full certificate at once, in a non incremental way. In the context of ACC, we propose an incremental approach to PCC for the generation of certificates and the checking of untrusted updates of a (trusted) program, i.e., when a producer provides a modified version of a previously validated program. Our proposal is that, if the consumer keeps the original (fixed-point) abstraction, it is possible to provide only the program updates and the incremental certificate (i.e., the difference of abstractions). Furthermore, it is now possible to define an incremental checking algorithm which, given the new updates and its incremental certificate, only re-checks the fixpoint for each procedure affected by the updates and the propagation of the effect of these fixpoint changes. As a consequence, both certificate transmission time and checking time can be reduced significantly.

This work was funded in part by the Information Society Technologies program of the European Commission, Future and Emerging Technologies under the IST-15905 MOBIUS project, by the Spanish MEC under the TIN-2005-09207 MERIT project, and the Regional CAM under the S-0505/TIC/0407 PROMESAS project.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Albert, E., Arenas, P., Puebla, G.: An Incremental Approach to Abstraction-Carrying Code. Technical Report CLIP3/2006, Technical University of Madrid (UPM), School of Computer Science, UPM (March 2006)

    Google Scholar 

  2. Albert, E., Arenas, P., Puebla, G.: Incremental Certificates and Checkers for Abstraction-Carrying Code. In: Proc. of WITS 2006 (March 2006)

    Google Scholar 

  3. Albert, E., Arenas, P., Puebla, G., Hermenegildo, M.V.: Reduced Certificates for Abstraction-Carrying Code. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 163–178. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  4. Albert, E., Puebla, G., Hermenegildo, M.: Abstraction-Carrying Code. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 380–397. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Bruynooghe, M.: A Practical Framework for the Abstract Interpretation of Logic Programs. Journal of Logic Programming 10, 91–124 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proc. POPL 1977, pp. 238–252. ACM, New York (1977)

    Google Scholar 

  7. Hermenegildo, M., Puebla, G., Marriott, K., Stuckey, P.: Incremental Analysis of Constraint Logic Programs. ACM Transactions on Programming Languages and Systems 22(2), 187–223 (2000)

    Article  Google Scholar 

  8. Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice Hall, New York (1993)

    MATH  Google Scholar 

  9. Lakhnech, Y., Bensalem, S., Berezin, S., Owre, S.: Incremental verification by abstraction. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 98–112. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  10. Lloyd, J.W.: Foundations of Logic Programming, 2nd extended edn. Springer, Heidelberg (1987)

    MATH  Google Scholar 

  11. Marriot, K., Stuckey, P.: Programming with Constraints: An Introduction. The MIT Press, Cambridge (1998)

    Google Scholar 

  12. Marriott, K., Søndergaard, H.: Precise and efficient groundness analysis for logic programs. ACM Letters on Programming Languages and Systems 2(4), 181–196 (1993)

    Article  Google Scholar 

  13. Necula, G.: Proof-Carrying Code. In: Proc. of POPL 1997, pp. 106–119. ACM Press, New York (1997)

    Chapter  Google Scholar 

  14. Puebla, G., Hermenegildo, M.: Optimized Algorithms for the Incremental Analysis of Logic Programs. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 270–284. Springer, Heidelberg (1996)

    Google Scholar 

  15. Ryder, B.: Incremental data-flow analysis algorithms. ACM Transactions on Programming Languages and Systems 10(1), 1–50 (1988)

    Article  MathSciNet  Google Scholar 

  16. Sokolsky, O.V., Smolka, S.A.: Incremental model checking in the modal μ-calculus. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 351–363. Springer, Heidelberg (1994)

    Google Scholar 

  17. Wagner, T.A., Graham, S.L.: Incremental analysis of real programming languages. In: Proc. PLDI 1997, pp. 31–43 (1997)

    Google Scholar 

  18. Wildmoser, M., Chaieb, A., Nipkow, T.: Bytecode Analysis for Proof Carrying Code. In: Proc. Bytecode 2005. ENTCS, vol. 141, pp. 19–34. Elsevier, Amsterdam (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Albert, E., Arenas, P., Puebla, G. (2006). An Incremental Approach to Abstraction-Carrying Code. In: Hermann, M., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2006. Lecture Notes in Computer Science(), vol 4246. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11916277_26

Download citation

  • DOI: https://doi.org/10.1007/11916277_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48281-9

  • Online ISBN: 978-3-540-48282-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics