This document is the API specification for the Java String Analyzer implementation.

Structure of the analysis of a Java program:

             /  Java Program
            /      |
           |       | javac
           |       V
front-end <     Class Files
           |       |
           |       | dk.brics.string.java (uses Soot)
           |       V
           |    Intermediate Code (dk.brics.string.intermediate)
           |       |
            \      | dk.brics.string.intermediate.operations
             \     V
                Flow Graph (dk.brics.string.flow)
             /     |
            /      | dk.brics.string.flow.operations
           |       V
           |    Context-Free Grammar (dk.brics.string.grammar)
           |       |
 back-end <        | dk.brics.string.grammar.operations
           |       V
           |    Multi-Level Finite Automaton (dk.brics.string.mlfa)
           |       |
           |       | dk.brics.string.mlfa.operations
            \      V
             \  Finite Automata (dk.brics.automaton)

This tool requires the BRICS Automaton package and the Soot package.

For more information about the Java String Analyzer, see the project home page: http://www.brics.dk/JSA/ @author Anders Møller <amoeller@cs.au.dk> @author Aske Simon Christensen <aske@cs.au.dk> @author Asger Feldthaus <asf@cs.au.dk>