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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Ahn, K.Y., Denney, E.: Testing first-order logic axioms in program verification
Alegre, F., Feron, E., Pande, S.: Using ellipsoidal domains to analyze control systems software. CoRR abs/0909.1977 (2009)
Axler, S.: Linear Algebra Done Right, 2nd edn. Springer, Heidelberg (1997)
Baudin, P., Filliâtre, J.C., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI/ISOC specification language. Preliminary design (version 1.5)
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)
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)
Chen, C.T.: Linear System Theory and Design, 3rd edn. Oxford University Press, USA (1998)
Correnson, L., Cuoq, P., Puccetti, A., Signoles, J.: Frama-C user manual
Dijkstra, E.: A Discipline of Programming. Prentice-Hall (1976)
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)
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)
Feret, J.: Static Analysis of Digital Filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)
Feron, E.: From control systems to control software. IEEE Control Systems 30(6) (2010)
Feron, E., Alegre, F.: Control software analysis, part I open-loop properties. CoRR abs/0809.4812 (2008)
Friedberg, S., Insel, A., Spence, L.: Linear Algebra, 3rd edn. Prentice-Hall (1997)
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/
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)
Halmos, P.: Finite-Dimensional Vector Spaces. Springer, Heidelberg (1974)
Harrison, J.: The HOL light formalization of euclidean space. In: AMS Special Session on Formal Mathematics for Mathematicians (2011)
Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1969)
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)
Jonsson, U.T.: A lecture on the S-procedure (2001)
Moy, Y.: Union and cast in deductive verification
Muñoz, C., Narkawicz, A.: Formalization of an efficient representation of Bernstein polynomials and applications to global optimization. J. of Automated Reasoning (2011)
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)
Owre, S., Shankar, N.: Theory interpretations in PVS. Tech. Rep. SRI-CSL-01-01, Computer Science Laboratory. SRI International (April 2001)
Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Language Reference. Computer Science Laboratory. SRI International (September 1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)
