Abstract
This paper explores the use of theorem provers to certify particular properties of software. Two different proof assistants are used to illustrate the method: Coq and Pvs. By comparing two theorem provers, conclusions about their suitability can be stated. The selected scenario is part of a real-world application: a distributed Video-on-Demand server. The development consists on two steps: first, the definition of a model of the algorithm to be studied in the proof assistants; second, the development and proving of the theorems.
Supported by MEC TIN2005-08986 and Xunta de Galicia PGIDIT05TIC10503PR.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Computing Surveys 28, 626–643 (1996)
Peled, D.A.: Software Reliability Methods. Springer, Heidelberg (2001)
Jorge, J.S.: Estudio de la verificación de propiedades de programas funcionales: de las pruebas manuales al uso de asistentes de pruebas. PhD thesis, University of A Coruña, Spain (2004)
Jorge, J.S., Gulías, V.M., Cabrero, D.: Certifying Properties of Programs using Theorem Provers. In: Verification, Validation and Testing in Software Engineering, pp. 220–267. Idea Group Publishing, USA (2007)
Bertot, Y., Casteran, P.: Interactive Theorem Proving and Program Development, Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004)
Owre, S., Shankar, N., Rushby, J.M.: The PVS Specification Language. Computer Science Laboratory, SRI International (1995)
Gulías, V.M., Barreiro, M., Freire, J.L.: VODKA: Developing a video-on-demand server using distributed functional programming. Journal of Functional Programming 15, 403–430 (2005)
Armstrong, J., Virding, R., Wikström, C., Williams, M.: oncurrent Programming in Erlang, 2nd edn. Prentice Hall, Englewood Cliffs (1996)
Bird, R., Wadler, P.: Introduction to Functional Programming. Prentice Hall, Englewood Cliffs (1988)
Hudak, P.: Conception, evolution, and application of functional programming languages. ACM Computing Surveys 21, 359–411 (1989)
Giménez, E.: A tutorial on recursive types in Coq. Technical report, INRIA, for Coq V6.2 (1998)
Huet, G., Kahn, G., Paulin-Mohring, C.: The Coq proof assistant: A tutorial, v8.0. Technical report, INRIA (2004)
Crow, J., Owre, S., Rushby, J., Shankar, N., Srivas, M.: A tutorial introduction to PVS. In: WIFT 1995 Workshop on Industrial-Strength Formal Specification Techniques (1995)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Santiago Jorge, J., Gulias, V.M., Castro, L.M. (2007). Verification of Program Properties Using Different Theorem Provers: A Case Study. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2007. EUROCAST 2007. Lecture Notes in Computer Science, vol 4739. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75867-9_30
Download citation
DOI: https://doi.org/10.1007/978-3-540-75867-9_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75866-2
Online ISBN: 978-3-540-75867-9
eBook Packages: Computer ScienceComputer Science (R0)