NFM 2012: NASA Formal Methods pp 147-161 | Cite as
PVS Linear Algebra Libraries for Verification of Control Software Algorithms in C/ACSL
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 LengthPreview
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)CrossRefGoogle Scholar
- 2.Ahn, K.Y., Denney, E.: Testing first-order logic axioms in program verificationGoogle 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)MATHGoogle 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 manualGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 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.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/ CrossRefGoogle 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)CrossRefGoogle Scholar
- 19.Halmos, P.: Finite-Dimensional Vector Spaces. Springer, Heidelberg (1974)MATHCrossRefGoogle 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)MATHCrossRefGoogle 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 verificationGoogle 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