ments and sets of attributes using parametric theories.
Higher-order features of PVS also proved to be very
important.
The compromise between static and dynamic
checking amounts to treating constraints that are
meant to be checked at run-time as axioms and prov-
ing the remaining ones as theorems. The proofs will
be valid as long as the truth of the axioms is guar-
anteed at run-time. At the same time the constraints
that are proved as theorems under the above assump-
tions will not be checked at run-time. This improves
efficiency of dynamic checking of constraints and re-
liability of transactions.
REFERENCES
Alagi
´
c, S. and Bernstein, P. A. (2002). A model the-
ory for generic schema management. In Proceedings
of DBPL 2001, Lecture Notes in Computer Science,
2397, pp. 228 - 246. Springer.
Alagi
´
c, S. and Briggs, D. (2004). Semantics of objectified
XML. In Proceedings of DBPL 2003, Lecture Notes
in Computer Science, 2921, pp. 147-165. Springer.
Alagi
´
c, S. and Kouznetsova, S. (2002). Behavioral com-
patibility of self-typed theories. In Proceedings of
ECOOP 2002, Lecture Notes in Computer Science,
2374, pp. 585-608. Springer.
Alagi
´
c, S. and Logan, J. (2004). Consistency of Java trans-
actions. In Proceedings of DBPL 2003, Lecture Notes
in Computer Science, 2921, pp. 71-89. Springer.
Alagi
´
c, S., Royer, M., and Crews, D. (2006). Tem-
poral verification of Java-like classes. In Pro-
ceedings of the ECOOP 2006 FTfJP Workshop
(Formal Techniques for Java like Programs).
http://www.disi.unige.it/person/AnconaD/FTfJP06/.
Archer, M., Vito, B. D., and Munoz, C. (2003). Developing
user strategies in PVS: A tutorial. In Proceedings of
STRATA 2003.
Barnett, M., Rustan, K., and Schulte, W. (2004). The Spec#
programming system: an overview. In Microsoft Re-
search 2004, also in Proceedings of CASSIS 2004.
Benzanken, V., Castagna, G., and Frisch, A. (2003). Cduce:
An XML-centric general-purpose language. In Pro-
ceedings of ICFP 2003, pp. 51-63. ACM.
Benzanken, V. and Schaefer, X. (1997). Static integrity con-
straint management in object-oriented database pro-
gramming languages via predicate transformers. In
Lecture Notes in Computer Science, 1241, pp. 60-84.
Springer.
Bierman, G., Meijer, E., and Schulte, W. (2004). The
essence of data access in c
ω
. In Microsoft Research.
Buneman, P., Davidson, S., Fan, W., Hara, C., and Tan, W.-
C. (2002). Reasoning about keys for XML. In Pro-
ceedings of DBPL 2001, Lecture Notes in Computer
Science, 2397, pp.133-148. Springer.
Fan, W. and Simeon, J. (2003). Integrity constraints for
XML. In Journal of Computer and System Sciences
66, pp. 254-291.
Gapayev, V. and Pierce, B. (2003). Regular object types. In
Proceedings of ECOOP 2003, Lecture Notes in Com-
puter Science, 2743, pp. 151-175. Springer.
Goguen, J. (1991). Types as theories. In G. M. Reed, A.
W. Roscoe and R. F. Wachter, Topology and Category
Theory in Computer Science, pp. 357-390. Clarendon
Press, Oxford.
Hosoya, H., Frisch, A., and Castagna, G. (2005). Paramet-
ric polymorphism for XML. In Proceedings of POPL
2005, pp. 50-62. ACM.
Hosoya, H. and Pierce, B. (2003). XDuce: A typed XML
processing language. In ACM Transactions on Inter-
net Technology, 3(2), pp. 117-148. ACM.
Kuper, G. M. and Simeon, J. (2001). Subsumption for XML
types. In Proceedings of ICDT, Lecture Notes in Com-
puter Science, 1973, pp. 331-345. Springer.
Leavens, G. T., Poll, E., Clifton, C., Cheon, Y., Ruby, C.,
Cook, D., Muller, P., and Kiniry, J. (2005). JML
Reference Manual. http://www.cs.iastate.edu/ leav-
ens/JML/, Iowa State, draft edition.
Liskov, B. and Wing, J. M. (1994). A behavioral notion
of subtyping. In ACM Transactions on Programming
Languages and Systems, pp. 1811-1841. ACM.
Owre, S. and Shankar, N. (2005). Writing PVS proof strate-
gies. SRI International, http://www.csl.sri.com.
Sheard, T. and Stemple, D. (1989). Automatic verification
of database transaction safety. In ACM Transactions
on Database Systems 14, pp. 322-368. ACM.
Simeon, J. and Wadler, P. (2003). The essence of XML. In
Proceedings of POPL 2003, pp. 1-13. ACM.
Spelt, D. and Even, S. (1999). A theorem prover-based
analysis tool for object-oriented databases. In Lec-
ture Notes in Computer Science, 1579, pp 375 - 389.
Springer.
W3C (2006a). W3C: XML Schema Part 0: Primer. W3C,
http://www.w3.org/TR/xmlschema-0/, second edition.
W3C (2006b). W3C: XML Schema Part 1: Structures.
W3C, http://www.w3.org/TR/xmlschema-1/, second
edition.
PROGRAM VERIFICATION TECHNIQUES FOR XML SCHEMA-BASED TECHNOLOGIES
93