skip to main content
invited-talk

Verified squared: does critical software deserve verified tools?

Published:26 January 2011Publication History
Skip Abstract Section

Abstract

The formal verification of programs has progressed tremendously in the last decade. In this talk, I review some of the obstacles that [6, 8, 15, 18] remain to be lifted before source-level verification tools can be taken really seriously in the critical software industry. A direction I advocate is the systematic formal verification of the development tools that participate in the production and verification of critical software.

Skip Supplemental Material Section

Supplemental Material

2-mpeg-4.mp4

References

  1. A. J. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In Programming Languages and Systems, 15th European Symposiumon Programming, ESOP2006, volume 3924 of Lecture Notes in Computer Science, pages 69--83. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. W. Appel and S. Blazy. Separation logic for small-step Cminor. In Theorem Proving in Higher Order Logics, 20th Int. Conf. TPHOLs 2007, volume 4732 of Lecture Notes in Computer Science LNCS, pages 5--21. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Barthe, B. Grégoire, C. Kunz, and T. Rezk. Certificate translation for optimizing compilers. ACM Transactions on Programming Languages and Systems, 31 (5), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Benton and C.-K. Hur. Biorthogonality, step-indexing and compiler correctness. In International Conference on Functional Programming 2009, pages 97--108. ACM Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Besson, D. Cachera, T. P. Jensen, and D. Pichardie. Certified static analysis by abstract interpretation. In Foundations of Security Analysis and Design, volume 5705 of Lecture Notes in Computer Science, pages 223--257. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, D. Monniaux, and X. Rival. A static analyzer for large safety-critical software. In Programming Language Design and Implementation 2003, pages 196--207. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Boldo, J.-C. Filliâtre, and G. Melquiond. Combining Coq and Gappa for certifying floating-point programs. In Intelligent Computer Mathematics, Calculemus/MKM 2009, volume 5625 of Lecture Notes in Computer Science, pages 59--74. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Klein, J. Andronick, K. Elphinstone, G. Heiser, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: formal verification of an operating-system kernel. Communications of the ACM, 53(6):107--115, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. J. Kornecki and J. Zalewski. The qualification of software development tools from the DO-178B certification perspective. CrossTalk, Apr. 2006.Google ScholarGoogle Scholar
  10. X. Leroy. Formal verification of a realistic compiler. Communications of the ACM, 52(7): 107--115, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. X. Leroy. A formally verified compiler back-end. Journal of Automated Reasoning, 43(4): 363--446, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. C. Necula. Translation validation for an optimizing compiler. In Programming Language Designand Implementation 2000, pages 83--95. ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Pnueli, M. Siegel, and E. Singerman. Translation validation. In Tools and Algorithms for Construction and Analysis of Systems, TACAS '98, volume 1384 of Lecture Notes in Computer Science, pages 151--166. Springer, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Z. Shao, V. Trifonov, B. Saha, and N. Papaspyrou. A type system for certified binaries. ACM Transactions on Programming Languages and Systems, 27(1): 1--45, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Souyris, V. Wiels, D. Delmas, and H. Delseny. Formal verification of avionics software products. In FM 2009: Formal Methods, volume 5850 of Lecture Notes in Computer Science, pages 532--546. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J.-B. Tristan and X. Leroy. Verified validation of Lazy Code Motion. In Programming Language Design and Implementation 2009, pages 316--326. ACM Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Tuch, G. Klein, and M. Norrish. Types, bytes, and separation logic. In 34th symposium Principles of Programming Languages, pages 97--108. ACM Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Yang and C. Hawblitzel. Safe to the last instruction: automated verification of a type-safe operating system. In Programming Language Design and Implementation 2010, pages 99--110. ACM Press, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Verified squared: does critical software deserve verified tools?

                      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

                      Full Access

                      • Published in

                        cover image ACM SIGPLAN Notices
                        ACM SIGPLAN Notices  Volume 46, Issue 1
                        POPL '11
                        January 2011
                        624 pages
                        ISSN:0362-1340
                        EISSN:1558-1160
                        DOI:10.1145/1925844
                        Issue’s Table of Contents
                        • cover image ACM Conferences
                          POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                          January 2011
                          652 pages
                          ISBN:9781450304900
                          DOI:10.1145/1926385

                        Copyright © 2011 Author

                        Publisher

                        Association for Computing Machinery

                        New York, NY, United States

                        Publication History

                        • Published: 26 January 2011

                        Check for updates

                        Qualifiers

                        • invited-talk

                      PDF Format

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader
                      About Cookies On This Site

                      We use cookies to ensure that we give you the best experience on our website.

                      Learn more

                      Got it!