Servlet Analysis API Specification

This system is an implementation of an analysis that given a Java Servlet can decide if this servlet will always output a string that is valid XML.

See:
          Description

Packages
dk.brics.servletvalidator The main package for Servlet Validator which contains the generalt puporse transformation and analysis classes.
dk.brics.servletvalidator.balancing This package contains the transformations and visitors needed to obtain a balanced grammar from a general context free grammar that has a balanced language.
dk.brics.servletvalidator.balancing.inequality Representations of constraints that need to be solved to find a function d as in Theorem 1, p 273 [Knuth]
dk.brics.servletvalidator.balancing.pimages This package contains the classes needed to construct parenthesis images and the DGraph presented in the article [Knuth] and the extensions from [KiMø]
dk.brics.servletvalidator.exceptions Contains all exceptions that can be thrown during analysis.
dk.brics.servletvalidator.flowgraph Contains the classes needed to represent the flow graph as descriped in [KiMø] section 2.
dk.brics.servletvalidator.grammar This package contains the classes needed to represent a context free grammar (CFG) See Grammar for details on how they are defined
dk.brics.servletvalidator.graph This package contains the classes needed to create a directed graph of nonterminals that directs inlining and cycle breaking of an inlining process.
dk.brics.servletvalidator.tagform This package contains the classes needed to annotate non terminals and bring the grammar to intermediate tagform as descibed in [KiMø] step 2.
dk.brics.servletvalidator.util This package contains utility classes that belong nowhere else
dk.brics.servletvalidator.wellformedness Contains classes that check the well-formedness of the productions according to the rules specified in [KiMø] section 3.3
dk.brics.servletvalidator.xmlgraph Contains the classes needed to convert context free grammars into XML graphs as defined in [KiMø] section 4

 

This system is an implementation of an analysis that given a Java Servlet can decide if this servlet will always output a string that is valid XML. In the javadoc there will be references to a number of articles. The primary article used for this implementation is [KiMø] article which the describes the analysis. All articles will be referenced through short names as stated by the list below.

Short name Actual name Author(s)
[Knuth] A Characterization of Parenthesis Languages Donald E. Knuth
[KiMø] Static Analysis for Java Servlets and JSP Christian Kirkegaard and Anders Møller
[Joda] Master's thesis: Static Validation of XHTML output from Java Servlets and JSP Jonas Dam
[Martin] Introduction to Languages and the Theory of Computation John C. Martin
[JüDoDe] Normal form Algorithms for Extended Context-Free Grammars Jürgen Albert, Dora Giammarresi, and Derick Wood

The system is implemented by Mathias Schwarz



Copyright © 2008 Mathias Schwarz.