PROGRAM VERIFICATION TECHNIQUES FOR XML SCHEMA-BASED TECHNOLOGIES

Suad Alagić, Mark Royer, David Briggs

Abstract

Representation and verification techniques for XML Schema types, structures, and applications, in a program verification system PVS are presented. Type derivations by restriction and extension as defined in XML Schema are represented in the PVS type system using predicate subtyping. Availability of parametric polymorphism in PVS makes it possible to represent XML sequences and sets via PVS theories. Powerful PVS logic capabilities are used to express complex constraints of XML Schema and its applications. Transaction verification methodology developed in the paper is grounded on declarative, logic-based specification of the frame constraints and the actual transaction updates. A sample XML application given in the paper includes constraints typical for XML schemas such as keys and referential integrity, and in addition ordering and range constraints. The developed proof strategy is demonstrated by a sample transaction verification with respect to this schema. The overall approach has a model theory based on the view of XML types and structures as theories.

References

  1. Alagic, S. and Bernstein, P. A. (2002). A model theory for generic schema management. In Proceedings of DBPL 2001, Lecture Notes in Computer Science, 2397, pp. 228 - 246. Springer.
  2. Alagic, S. and Briggs, D. (2004). Semantics of objectified XML. In Proceedings of DBPL 2003, Lecture Notes in Computer Science, 2921, pp. 147-165. Springer.
  3. Alagic, S. and Kouznetsova, S. (2002). Behavioral compatibility of self-typed theories. In Proceedings of ECOOP 2002, Lecture Notes in Computer Science, 2374, pp. 585-608. Springer.
  4. Alagic, S. and Logan, J. (2004). Consistency of Java transactions. In Proceedings of DBPL 2003, Lecture Notes in Computer Science, 2921, pp. 71-89. Springer.
  5. Alagic, S., Royer, M., and Crews, D. (2006). Temporal verification of Java-like classes. In Proceedings of the ECOOP 2006 FTfJP Workshop (Formal Techniques for Java like Programs). http://www.disi.unige.it/person/AnconaD/FTfJP06/.
  6. Archer, M., Vito, B. D., and Munoz, C. (2003). Developing user strategies in PVS: A tutorial. In Proceedings of STRATA 2003.
  7. Barnett, M., Rustan, K., and Schulte, W. (2004). The Spec# programming system: an overview. In Microsoft Research 2004, also in Proceedings of CASSIS 2004.
  8. Benzanken, V., Castagna, G., and Frisch, A. (2003). Cduce: An XML-centric general-purpose language. In Proceedings of ICFP 2003, pp. 51-63. ACM.
  9. Benzanken, V. and Schaefer, X. (1997). Static integrity constraint management in object-oriented database programming languages via predicate transformers. In Lecture Notes in Computer Science, 1241, pp. 60-84. Springer.
  10. Bierman, G., Meijer, E., and Schulte, W. (2004). The essence of data access in c?. In Microsoft Research.
  11. Buneman, P., Davidson, S., Fan, W., Hara, C., and Tan, W.- C. (2002). Reasoning about keys for XML. In Proceedings of DBPL 2001, Lecture Notes in Computer Science, 2397, pp.133-148. Springer.
  12. Fan, W. and Simeon, J. (2003). Integrity constraints for XML. In Journal of Computer and System Sciences 66, pp. 254-291.
  13. Gapayev, V. and Pierce, B. (2003). Regular object types. In Proceedings of ECOOP 2003, Lecture Notes in Computer Science, 2743, pp. 151-175. Springer.
  14. 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.
  15. Hosoya, H., Frisch, A., and Castagna, G. (2005). Parametric polymorphism for XML. In Proceedings of POPL 2005, pp. 50-62. ACM.
  16. Hosoya, H. and Pierce, B. (2003). XDuce: A typed XML processing language. In ACM Transactions on Internet Technology, 3(2), pp. 117-148. ACM.
  17. Kuper, G. M. and Simeon, J. (2001). Subsumption for XML types. In Proceedings of ICDT, Lecture Notes in Computer Science, 1973, pp. 331-345. Springer.
  18. 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/ leavens/JML/, Iowa State, draft edition.
  19. Liskov, B. and Wing, J. M. (1994). A behavioral notion of subtyping. In ACM Transactions on Programming Languages and Systems, pp. 1811-1841. ACM.
  20. Owre, S. and Shankar, N. (2005). Writing PVS proof strategies. SRI International, http://www.csl.sri.com.
  21. Sheard, T. and Stemple, D. (1989). Automatic verification of database transaction safety. In ACM Transactions on Database Systems 14, pp. 322-368. ACM.
  22. Simeon, J. and Wadler, P. (2003). The essence of XML. In Proceedings of POPL 2003, pp. 1-13. ACM.
  23. Spelt, D. and Even, S. (1999). A theorem prover-based analysis tool for object-oriented databases. In Lecture Notes in Computer Science, 1579, pp 375 - 389. Springer.
  24. W3C (2006a). W3C: XML Schema Part 0: Primer. W3C, http://www.w3.org/TR/xmlschema-0/, second edition.
  25. W3C (2006b). W3C: XML Schema Part 1: Structures. W3C, http://www.w3.org/TR/xmlschema-1/, second edition.
Download


Paper Citation


in Harvard Style

Alagić S., Royer M. and Briggs D. (2006). PROGRAM VERIFICATION TECHNIQUES FOR XML SCHEMA-BASED TECHNOLOGIES . In Proceedings of the First International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-972-8865-69-6, pages 86-93. DOI: 10.5220/0001309400860093


in Bibtex Style

@conference{icsoft06,
author={Suad Alagić and Mark Royer and David Briggs},
title={PROGRAM VERIFICATION TECHNIQUES FOR XML SCHEMA-BASED TECHNOLOGIES},
booktitle={Proceedings of the First International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2006},
pages={86-93},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001309400860093},
isbn={978-972-8865-69-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the First International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - PROGRAM VERIFICATION TECHNIQUES FOR XML SCHEMA-BASED TECHNOLOGIES
SN - 978-972-8865-69-6
AU - Alagić S.
AU - Royer M.
AU - Briggs D.
PY - 2006
SP - 86
EP - 93
DO - 10.5220/0001309400860093