skip to main content
10.1145/2525528.2525535acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article

Towards a verified component platform

Authors Info & Claims
Published:03 November 2013Publication History

ABSTRACT

This paper describes ongoing work on a new technique for reducing the cost of assurance of large software systems by building on a verified component platform. From a component architecture description, we automatically derive a formal model of the system and a semantics for the runtime behaviour of generated inter-component communication code. We can prove wellformedness properties of the architecture automatically and provide a framework in which users can reason about their component code and its behaviour. By leveraging the isolation properties and communication guarantees of a formally verified platform, correctness arguments for critical components will be able to be derived independently and composed together to reason about system-level correctness.

References

  1. J. Adamek. Static analysis of component systems using behavior protocols. In OOPSLA, pages 116--117, Anaheim, CA, USA, Oct 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Alves-Foss, P. W. Oman, C. Taylor, and S. Harrison. The MILS architecture for high-assurance embedded systems. Int. J. Emb. Syst., 2:239--247, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  3. J. Andronick, D. Greenaway, and K. Elphinstone. Towards proving security in the presence of large untrusted components. In G. Klein, R. Huuck, and B. Schlich, editors, 5th SSV, Vancouver, Canada, Oct 2010. USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Boyton, J. Andronick, C. Bannister, M. Fernandez, X. Gao, D. Greenaway, G. Klein, C. Lewis, and T. Sewell. Formally verified system initialisation. In Lindsay Groves, Jing Sun, editor, 15th ICFEM, Queenstown, New Zealand, Oct 2013. Springer.Google ScholarGoogle Scholar
  5. M. Broy, I. H. Krüger, A. Pretschner, and C. Salzman. Engineering automotive software. Proc. IEEE, 95:356--373, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  6. K. Fisler and S. Krishnamurthi. Decomposing verification around end-user features. In VSTTE 2005, pages 74--81. Springer, Oct 2005.Google ScholarGoogle Scholar
  7. D. Giannakopoulou, C. S. Păsăreanu, and H. Barringer. Assumption generation for software component verification. In 17th ASE, pages 3--12, Edinburgh, Scotland, UK, Sep 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Greenaway, J. Andronick, and G. Klein. Bridging the gap: Automatic verified abstraction of C. In L. Beringer and A. Felty, editors, 3rd ITP, volume 7406 of LNCS, pages 99--115, Princeton, New Jersey, Aug 2012. Springer. ISBN 978-3-642-32346-1.Google ScholarGoogle Scholar
  9. M. Hohmuth, M. Peter, H. Härtig, and J. S. Shapiro. Reducing TCB size by using untrusted components --- small kernels versus virtual-machine monitors. In 11th SIGOPS Eur. WS, Leuven, Belgium, Sep 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: Formal verification of an OS kernel. In 22nd SOSP, pages 207--220, Big Sky, MT, USA, Oct 2009. ACM. doi: 10.1145/1629575.1629596. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. I. Kuz, Y. Liu, I. Gorton, and G. Heiser. CAmkES: A component model for secure microkernel-based embedded systems. Journal of Systems and Software Special Edition on Component-Based Software Engineering of Trustworthy Embedded Systems, 80(5): 687--699, May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. I. Kuz, G. Klein, C. Lewis, and A. Walker. capDL: A language for describing capability-based systems. In 1st APSys, pages 31--36, New Delhi, India, Aug 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. X. Leroy. Formal certification of a compiler back-end, or: Programming a compiler with a proof assistant. In J. G. Morrisett and S. L. P. Jones, editors, 33rd POPL, pages 42--54, Charleston, SC, USA, 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. S. Moore. A grand challenge for formal methods: A verified stack. In B. K. Aichernig and T. Maibaum, editors, Formal Methods at the Crossroads: from Panacea to Foundational Support, pages 161--172. Springer, 2003.Google ScholarGoogle Scholar
  15. T. Murray, D. Matichuk, M. Brassil, P. Gammie, T. Bourke, S. Seefried, C. Lewis, X. Gao, and G. Klein. seL4: from general purpose to a proof of information flow enforcement. In IEEE Symp. Security & Privacy, pages 415--429, San Francisco, CA, May 2013. ISBN 10.1109/SP.2013.35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. C. Necula. Proof-carrying code. In 24th POPL, pages 106--119, Paris, France, Jan 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. G. C. Necula. Translation validation for an optimizing compiler. In PLDI, pages 83--94, Vancouver, British Columbia, Canada, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Nipkow, L. Paulson, and M. Wenzel. Isabelle/HOL --- A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. F. Plasil and S. Visnovsky. Behavior protocols for software components. IEEE Trans. Softw. Engin., 28(11):1056--1076, Nov 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Pnueli, M. Siegel, and E. Singerman. Translation validation. In 4th TACAS, pages 151--166, Lisbon, Portugal, Mar 1998. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Rushby. A trusted computing base for embedded systems. In Proceedings of 7th DoD/NBS Computer Security Conference, pages 294--311, Sep 1984.Google ScholarGoogle Scholar
  22. J. M. Rushby. Design and verification of secure systems. In 8th SOSP, pages 12--21, Pacific Grove, CA, USA, Dec 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Sewell, S. Winwood, P. Gammie, T. Murray, J. Andronick, and G. Klein. seL4 enforces integrity. In M. C. J. D. van Eekelen, H. Geuvers, J. Schmaltz, and F. Wiedijk, editors, 2nd ITP, volume 6898 of LNCS, pages 325--340, Nijmegen, The Netherlands, Aug 2011. Springer. doi: http://dx.doi.org/10.1007/978-3-642-22863-6_24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley/ACM Press, Essex, England, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. H. Tuch, G. Klein, and M. Norrish. Types, bytes, and separation logic. In M. Hofmann and M. Felleisen, editors, 34th POPL, pages 97--108, Nice, France, Jan 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. M. Yellin and R. E. Strom. Protocol specifications and component adaptors. ACM Trans. Progr. Lang. & Syst., 19(2):292--333, Mar 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    PLOS '13: Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
    November 2013
    70 pages
    ISBN:9781450324601
    DOI:10.1145/2525528

    Copyright © 2013 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 3 November 2013

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    PLOS '13 Paper Acceptance Rate10of16submissions,63%Overall Acceptance Rate17of32submissions,53%

    Upcoming Conference

    SOSP '24

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader