Abstract
We report on experiences in using two very different program verification technologies. One of them is based on object-oriented assertion languages and it comes with automatic static verification of object-oriented programs. The other technology is independent of a programming language or programming paradigm and it offers static interactive verification of very complex constraints. These two technologies were applied to the problem of static verification of object-oriented transactions. The problem was chosen because database technologies are not equipped to handle general integrity constraints and verification technologies are not used to verify transactions. The implications of static verification on data integrity, effciency, and reliability of transactions are significant.
- S. Alagic and A. Fazeli, Verifiable object-oriented transactions, Proceedings of COB 2012 (Concurrent Objects and Beyond), LNCS, to appear.Google Scholar
- S. Alagic, P. Bernstein, and R. Jairath, Object-oriented constraints for XML Schema, Proceedings of ICOODB 2010, LNCS 6348, pp. 101--118. Google Scholar
Digital Library
- I. G. Baltopoulos, J. Borgstrom, and A. G. Gordon, Maintaining database integrity with refinement types, Proceedings of ECOOP 2011, LNCS 6813, pp. 484--509, 2011. Google Scholar
Digital Library
- Microsoft Corp., Spec#, http://research.microsoft.com/specsharp/.Google Scholar
- S. Owre, N. Shankar, J. M. Rushby, and D. W. J. Stringer-Clavert: PVS Language Reference, SRI International, Computer Science Laboratory, http://pvs.csl.sri.com/doc/pvs-language-reference.pdf.Google Scholar
- T. Sheard and D. Stemple, Automatic verification of database transaction safety, ACM TODS 14, pp. 322--368, 1989. Google Scholar
Digital Library
Index Terms
Automatic versus interactive program verification
Recommendations
Automatic versus interactive program verification
HILT '13: Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technologyWe report on experiences in using two very different program verification technologies. One of them is based on object-oriented assertion languages and it comes with automatic static verification of object-oriented programs. The other technology is ...
Constraint-Based Verification of Parameterized Cache Coherence Protocols
We propose a new method for the parameterized verification of formal specifications of cache coherence protocols. The goal of parameterized verification is to establish system properties for an arbitrary number of caches. In order to achieve this ...
Formal Verification for C Program
Iterative abstraction refinement has emerged in the last few years as the leading approach to software model checking. We present an approach for automatically verifying C programs against safety specifications based on finite state machine. The ...







Comments