Skip to main content

PVS Linear Algebra Libraries for Verification of Control Software Algorithms in C/ACSL

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7226)

Abstract

The problem of ensuring control software properties hold on their actual implementation is rarely tackled. While stability proofs are widely used on models, they are never carried to the code. Using program verification techniques requires express these properties at the level of the code but also to have theorem provers that can manipulate the proof elements. We propose to address this challenge by following two phases: first we introduce a way to express stability proofs as C code annotations; second, we propose a PVS linear algebra library that is able to manipulate quadratic invariants, i.e., ellipsoids. Our framework achieves the translation of stability properties expressed on the code to the representation of an associated proof obligation (PO) in PVS. Our library allows us to discharge these POs within PVS.

Keywords

  • Linear Algebra
  • Proof Obligation
  • Proof Assistant
  • Theory Interpretation
  • Excessive Length

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This work was supported by the National Aeronautics and Space Administration under NASA Cooperative Agreement NCC-1-02043, the National Science Foundation under Grant CNS - 1135955, the Army Research Office under MURI Award W911NF-11-1-0046, the Air Force Research Laboratory as part of the CertaAMOR program, the Dutton/Ducoffe Professorship at Georgia Tech, FNRAE CAVALE project, and Spanish MEC project TIN2009-14562-C05-04.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (Canada)
  • 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adjé, A., Gaubert, S., Goubault, E.: Coupling Policy Iteration with Semi-definite Relaxation to Compute Accurate Numerical Invariants in Static Analysis. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 23–42. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  2. Ahn, K.Y., Denney, E.: Testing first-order logic axioms in program verification

    Google Scholar 

  3. Alegre, F., Feron, E., Pande, S.: Using ellipsoidal domains to analyze control systems software. CoRR abs/0909.1977 (2009)

    Google Scholar 

  4. Axler, S.: Linear Algebra Done Right, 2nd edn. Springer, Heidelberg (1997)

    MATH  Google Scholar 

  5. Baudin, P., Filliâtre, J.C., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI/ISOC specification language. Preliminary design (version 1.5)

    Google Scholar 

  6. Boyd, S., El Ghaoui, L., Feron, E., Balakrishnan, V.: Linear Matrix Inequalities in System and Control Theory. Studies in Applied Mathematics, vol. 15. SIAM (June 1994)

    Google Scholar 

  7. Burghardt, J., Gerlach, J., Hartig, K.: ACSL by example towards a verified C standard library version 4.2.0 for Frama-C beryllium 2 (2010)

    Google Scholar 

  8. Chen, C.T.: Linear System Theory and Design, 3rd edn. Oxford University Press, USA (1998)

    Google Scholar 

  9. Correnson, L., Cuoq, P., Puccetti, A., Signoles, J.: Frama-C user manual

    Google Scholar 

  10. Dijkstra, E.: A Discipline of Programming. Prentice-Hall (1976)

    Google Scholar 

  11. de Dinechin, F., Quirin Lauter, C., Melquiond, G.: Certifying the floating-point implementation of an elementary function using Gappa. IEEE Trans. Computers 60(2), 242–253 (2011)

    CrossRef  Google Scholar 

  12. Eriksson, J., Back, R.-J.: Applying PVS Background Theories and Proof Strategies in Invariant Based Programming. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 24–39. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  13. Feret, J.: Static Analysis of Digital Filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  14. Feron, E.: From control systems to control software. IEEE Control Systems 30(6) (2010)

    Google Scholar 

  15. Feron, E., Alegre, F.: Control software analysis, part I open-loop properties. CoRR abs/0809.4812 (2008)

    Google Scholar 

  16. Friedberg, S., Insel, A., Spence, L.: Linear Algebra, 3rd edn. Prentice-Hall (1997)

    Google Scholar 

  17. Garillot, F., Gonthier, G., Mahboubi, A., Rideau, L.: Packaging Mathematical Structures. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 327–342. Springer, Heidelberg (2009), http://hal.inria.fr/inria-00368403/en/

    CrossRef  Google Scholar 

  18. Gonthier, G.: Point-Free, Set-Free Concrete Linear Algebra. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 103–118. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  19. Halmos, P.: Finite-Dimensional Vector Spaces. Springer, Heidelberg (1974)

    CrossRef  MATH  Google Scholar 

  20. Harrison, J.: The HOL light formalization of euclidean space. In: AMS Special Session on Formal Mathematics for Mathematicians (2011)

    Google Scholar 

  21. Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1969)

    CrossRef  MATH  Google Scholar 

  22. Izerrouken, N., Thirioux, X., Pantel, M., Strecker, M.: Certifying an Automated Code Generator Using Formal Tools: Preliminary Experiments in the GeneAuto Project. In: ERTS (2008)

    Google Scholar 

  23. Jonsson, U.T.: A lecture on the S-procedure (2001)

    Google Scholar 

  24. Moy, Y.: Union and cast in deductive verification

    Google Scholar 

  25. Muñoz, C., Narkawicz, A.: Formalization of an efficient representation of Bernstein polynomials and applications to global optimization. J. of Automated Reasoning (2011)

    Google Scholar 

  26. Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. In: Kapur, D. (ed.) CADE 1992. LNCS (LNAI), vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  27. Owre, S., Shankar, N.: Theory interpretations in PVS. Tech. Rep. SRI-CSL-01-01, Computer Science Laboratory. SRI International (April 2001)

    Google Scholar 

  28. Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Language Reference. Computer Science Laboratory. SRI International (September 1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Herencia-Zapana, H. et al. (2012). PVS Linear Algebra Libraries for Verification of Control Software Algorithms in C/ACSL. In: Goodloe, A.E., Person, S. (eds) NASA Formal Methods. NFM 2012. Lecture Notes in Computer Science, vol 7226. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28891-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28891-3_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28890-6

  • Online ISBN: 978-3-642-28891-3

  • eBook Packages: Computer ScienceComputer Science (R0)