...
CAST allows each analysis to use their own "core API libraries" and cannot run if system classes (i.e. "java lang.*") are not specified in the Classpaths field - see JEE - Analysis configuration.
Supported file types
The JEE Analyzer supports java source files (.java), class files (.class) and SQLJ files (.sqlj).
...
Java archives (.jar and .zip) cannot be specified as such as analysis files. To include zipped files, the archive that contains them must be unzipped first. On the other hand archives are supported as class path entries. However, for archive processing, software requires the "java" executable program (delivered with any SDK or JDK) to be installed and accessible via the "Path" system variable on the computer where the analysis is run. Note that if the actual implementation source code for a given itemis provided in a Java archive, then the analyzer will handle it as external code and will only be able to decompile the objects as signatures.
Object sharing
All objects revealed by the analyzer are not only identified by their Java qualified name (including mangling to distinguish overloaded methods) but also by the full path of their corresponding definition file. This allows the reflection of dynamic class loading paradigm and distinguishes between several implementations of the same class.
...
The J2EE Analyzer uses an inference engine to compute run time type information in order to simulate program behaviour during its execution. To find out more about activating and deactivating it in the CAST Management Studio, see JEE - Analysis configuration. This information is used to address the two following issues:
...
String evaluation is used within the Parametrization feature (see the JEE - Environment Profiles) to compute the actual value of arguments of parametrized methods. Here also all possibilities are evaluated and all possible links are traced accordingly.
...