Abstract
We present an imperative program verification system that exploits many powerful aspects of Oz. Our verification system supports an expressive assertion language for writing specifications and loop invariants. It is able to prove the correctness of elaborated imperative programs consisting of several subproblems that are checked independently. We illustrate the functionalities of our system on a few non trivial examples. Then, we explain that, using Oz constraint programming and other convenient programming mechanisms of Oz, the implementation of the system is straightforward. We also provide information about the efficiency of our implementation.
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
The Mozart Programming System, http://www.mozart-oz.org
The PVS specification and verification system, http://pvs.csl.sri.com
Bal, T., Rajamani, S.K.: Boolean programs: A model and process for software analysis. Technical Report 2000-14, Microsoft Research (2000)
Corbett, J.C., Dwyer, M.B., Hatcliff, J.: A language framework for expressing checkable properties of dynamic software. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 93–112. Springer, Heidelberg (2000)
Jackson, S.J.D., Damon, C.A.: Isomorph-free model enumeration: a new method for checking relational specifications. ACM Trans. on Programming Languages and Systems 20(2), 302–343 (1998)
Damon, C.A., Jackson, D.: Efficient search as a means of executing specifications. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 70–86. Springer, Heidelberg (1996)
Grumberg, O., Clarke, E.M., Long, D.E.: Model checking and abstraction. ACM Transactions on Programming Langages and Systems 16(5), 1512–1542 (1994)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proc. of the conference record of the Fifth annual ACM Symptium on Principles of Programming Languages, Tukson, Arizona, pp. 84–97. ACM Press, New York (1978)
Floyd, R.W.: Assigning meanings to programs. In: Proc. of Symposia in Applied Mathematics, vol. 19, pp. 19–32. Mathematical Society (1967)
Hoare., C.A.R.: An axiomatic definition of semantics. Communications of the ACM 12(10) (1969)
Jackson, D.: Aspect: Detecting bugs with abstract dependences. ACM Trans. on Software Engineering and Methodology 4(2), 109–145 (1995)
Charlier, B.L., Derroite, M.: Un système d’aide à l’enseignement d’une méthode de programmation. In: Actes du premier colloque francophone sur la didactique de l’informatique (1989)
Moussa, L., Dieul, E.: VICS, verification of an implementation conforming to its specification, http://vics.sourceforge.net
Schulte, C.: Programming constraint services. Master’s thesis, Saarbrucken (2000)
Van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. The MIT Press, Cambridge (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dony, I., Le Charlier, B. (2005). A Program Verification System Based on Oz. In: Van Roy, P. (eds) Multiparadigm Programming in Mozart/Oz. MOZ 2004. Lecture Notes in Computer Science, vol 3389. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31845-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-31845-3_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25079-1
Online ISBN: 978-3-540-31845-3
eBook Packages: Computer ScienceComputer Science (R0)