POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A unified treatment of flow analysis in higher-order languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
World Wide Web Journal - Special issue on XML: principles, tools, and techniques
Static validation of dynamically generated HTML
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Towards static type checking for XSLT
DocEng '01 Proceedings of the 2001 ACM Symposium on Document engineering
ACM Transactions on Internet Technology (TOIT)
A formal semantics of patterns in XSLT and XPath
Markup Languages
A formal model for an expressive fragment of XSLT
Information Systems - Databases: Creation, management and utilization
Containment for XPath Fragments under DTD Constraints
ICDT '03 Proceedings of the 9th International Conference on Database Theory
Typechecking Top-Down Uniform Unranked Tree Transducers
ICDT '03 Proceedings of the 9th International Conference on Database Theory
XPath Containment in the Presence of Disjunction, DTDs, and Variables
ICDT '03 Proceedings of the 9th International Conference on Database Theory
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
Typechecking for XML transformers
Journal of Computer and System Sciences - Special issue on PODS 2000
Extending Java for high-level Web service construction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static Analysis of XML Transformations in Java
IEEE Transactions on Software Engineering
ACM SIGMOD Record
Static analysis of XSLT programs
ADC '04 Proceedings of the 15th Australasian database conference - Volume 27
Frontiers of tractability for typechecking simple XML transformations
PODS '04 Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
XJ: facilitating XML processing in Java
WWW '05 Proceedings of the 14th international conference on World Wide Web
XPath satisfiability in the presence of DTDs
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
XML type checking with macro tree transducers
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
XML graphs in program analysis
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
The design space of type checkers for XML transformation languages
ICDT'05 Proceedings of the 10th international conference on Database Theory
Transforming XML documents as schemas evolve
Proceedings of the VLDB Endowment
XML graphs in program analysis
Science of Computer Programming
Compiler support for effective XSL transformation
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
XSL Transformations (XSLT) is a programming language for defining transformations among XML languages. The structure of these languages is formally described by schemas, for example using DTD or XML Schema, which allows individual documents to be validated. However, existing XSLT tools offer no static guarantees that, under the assumption that the input is valid relative to the input schema, the output of the transformation is valid relative to the output schema. We present a validation technique for XSLT based on the XML graph formalism introduced in the static analysis of JWIG Web services and XACT XML transformations. Being able to provide static guarantees, we can detect a large class of errors in an XSLT stylesheet at the time it is written instead of later when it has been deployed, and thereby provide benefits similar to those of static type checkers for modern programming languages. Our analysis takes a pragmatic approach that focuses its precision on the essential language features but still handles the entire XSLT language. We evaluate the analysis precision on a range of real stylesheets and demonstrate how it may be useful in practice.