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

  • Heber Herencia-Zapana
  • Romain Jobredeaux
  • Sam Owre
  • Pierre-Loïc Garoche
  • Eric Feron
  • Gilberto Perez
  • Pablo Ascariz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7226)


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.


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)CrossRefGoogle Scholar
  2. 2.
    Ahn, K.Y., Denney, E.: Testing first-order logic axioms in program verificationGoogle Scholar
  3. 3.
    Alegre, F., Feron, E., Pande, S.: Using ellipsoidal domains to analyze control systems software. CoRR abs/0909.1977 (2009)Google Scholar
  4. 4.
    Axler, S.: Linear Algebra Done Right, 2nd edn. Springer, Heidelberg (1997)zbMATHGoogle Scholar
  5. 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. 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. 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. 8.
    Chen, C.T.: Linear System Theory and Design, 3rd edn. Oxford University Press, USA (1998)Google Scholar
  9. 9.
    Correnson, L., Cuoq, P., Puccetti, A., Signoles, J.: Frama-C user manualGoogle Scholar
  10. 10.
    Dijkstra, E.: A Discipline of Programming. Prentice-Hall (1976)Google Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Feret, J.: Static Analysis of Digital Filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Feron, E.: From control systems to control software. IEEE Control Systems 30(6) (2010)Google Scholar
  15. 15.
    Feron, E., Alegre, F.: Control software analysis, part I open-loop properties. CoRR abs/0809.4812 (2008)Google Scholar
  16. 16.
    Friedberg, S., Insel, A., Spence, L.: Linear Algebra, 3rd edn. Prentice-Hall (1997)Google Scholar
  17. 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), CrossRefGoogle Scholar
  18. 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)CrossRefGoogle Scholar
  19. 19.
    Halmos, P.: Finite-Dimensional Vector Spaces. Springer, Heidelberg (1974)zbMATHCrossRefGoogle Scholar
  20. 20.
    Harrison, J.: The HOL light formalization of euclidean space. In: AMS Special Session on Formal Mathematics for Mathematicians (2011)Google Scholar
  21. 21.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1969)zbMATHCrossRefGoogle Scholar
  22. 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. 23.
    Jonsson, U.T.: A lecture on the S-procedure (2001)Google Scholar
  24. 24.
    Moy, Y.: Union and cast in deductive verificationGoogle Scholar
  25. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Heber Herencia-Zapana
    • 1
  • Romain Jobredeaux
    • 2
  • Sam Owre
    • 3
  • Pierre-Loïc Garoche
    • 4
  • Eric Feron
    • 2
  • Gilberto Perez
    • 5
  • Pablo Ascariz
    • 5
  1. 1.National Institute of AerospaceHamptonUnited States
  2. 2.Georgia Institute of TechnologyAtlantaUnited States
  3. 3.SRI InternationalMenlo ParkUnited States
  4. 4.The French Aerospace LabONERAToulouseFrance
  5. 5.University of A CoruñaCoruñaSpain

Personalised recommendations