Introduction to analysis configuration options
The CAST Management Studio has three levels at which analysis configuration options can be set:
Technology | - The options available at this level are valid for all Applications managed in the CAST Management Studio.
- These are the default options that will be used to populate the same fields at Application and Analysis Unit level. If you need to define specific options for a specific Application or Analysis Unit, then you can override them.
- If you make a change to a specific option at Application or Analysis Unit level, and then subsequently change the same option at Technology level, this setting will NOT be mirrored back to the Application or Analysis Unit - this is because specific settings at Application and Analysis Unit level have precedence if they have been changed from the default setting available at Technology level.
|
Application | - The options available at this level set are valid for all corresponding Analysis Units defined in the current Application (so making changes to a specific option will mean all Analysis Units in that specific Technology will "inherit" the same setting). If you need to define specific options for a specific Analysis Unit in a specific Technology, then you can do so at Analysis Unit level.
|
Analysis Unit | - Options available at this level are valid only for the specific Analysis Unit.
- An Analysis Unit can best be described as a set of configuration settings that govern how a perimeter of source code is consistently analyzed.
- Analysis Units are automatically created when you use the Set as current version option to deploy the delivered source code - as such they correspond to Projects discovered by the CAST Delivery Manager Tool. However, they can also be created manually for situations where no Analysis Unit has been automatically created for a given project.
- When the Analysis Unit has been created automatically, options will "inherit" their initial configuration settings from the discovery process in the CAST Delivery Manager Tool (i.e. "project" settings). Where an option could not be defined automatically via the CAST Delivery Manager Tool, it will "inherit" its initial configuration settings from those defined at Technology level and at Application level.
- Analysis Units that are manually defined will "inherit" their initial configuration settings from the settings defined at Technology level and at Application level.
- Modifying an identical option at Technology level or at Application level will automatically update the same option in the Analysis Unit editor unless that specific option has already been modified independently in the Analysis Unit editor.
|
Auto-configuration validation
Technology / Application level
Using the Technology level or Application level options, validate the settings for ASP packages. Make any update as required. These settings apply to the Technology or Application as a whole (i.e. all Analysis Units):
Analysis Unit level
To inspect the auto-generated analysis configuration, you should review the settings in each Analysis Unit - they can be accessed through the Application editor:
Technology options
The available options for configuring an analysis are described below. Note that some options are not available at specific levels (Technology/Application/Analysis Unit):
Source Settings
This tab shows the location of each type of source code in the ASP Analysis Unit - this is determined automatically by the CAST Delivery Manager Tool. You should, however, review the configuration and make any changes you need:
Project path | The file based location of the corresponding project. This field is read-only. When the field contains User defined, this indicates that the Analysis Unit has been defined manually instead of automatically following the use of the CAST Delivery Manager Tool. |
Application Root Path | Indicates the folder that is defined as the root folder for the Analysis Unit for analysis purposes. The Application Root Path is the path to the folder that contains WEB-INF directory. If this Analysis Unit is automatically defined, then this field will already be populated. You can choose a different source code location (use Browse) - or use the Reset button to re-populate the field with the information from the parent Application. |
Web Server
Web Server File Extensions | This section displays a list of the file extensions that are included in the current file filter for your source code analysis. Only files that match these file extensions will be included in the analysis. |
Also use Application Root Path for Web Server Files | If you select this option, the Application Root Path defined in the General tab will be used as a source for the web server files. If you wish to add additional source files use the option described below. |
Files | |
Web Client
Web Client File Extensions | This section displays a list of the file extensions that are included in the current file filter for your source code analysis. Only files that match these file extensions will be included in the analysis. |
Also use Application Root Path for Web Client Files | If you select this option, the Application Root Path defined in the General tab will be used as a source for the web client files. If you wish to add additional source files use the option described below. |
Files | |
Analysis
The settings in this tab govern how the source code is handled by the analyzer:
Click to enlarge
Default Source Options/File Extensions - only visible at Technology and Application level.
Web Server File Extensions | Use this option to specify the file extensions that will be considered as Web Server files for analysis purposes (typically .ASP files) |
Web Server File Extensions | Use this option to specify the file extensions that will be considered as Web Client files for analysis purposes (typically .html files) |
Default Scripting
Default Scripting Language for the client side / Default Scripting Language for the server side | These option enables you to select the Default Scripting Language for your client-side and server-side files. Use the drop down list box to choose between: It is possible to identify the default client scripting language by finding a ASP or HTML file with a SCRIPT tag that does not have a language definition (do a search for "<SCRIPT>") and examine the language to determine if it is JavaScript or VBScript. For an application that mixes both languages, you will need to find a file with <SCRIPT> tags that DO NOT have a language specified and <SCRIPT> tags that DO have a language specified. You then need to select the language NOT specified in the <SCRIPT> tag as the default language. |
Text Replacement
This section enables you to define Regular Expressions (that match character strings in your selected files) that you want to replace with other text:
- Click the button to add a new line to the table listing the Text Replacements
- Double click the new line in the table and a hidden section will appear in which you can enter the details you require:
- Enter the Regular Expression in the Regular Expression field.
- Chose the type of Regular Expression in the drop down list:
- Perl (default format) - Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using the same rules as Perl 5.
- Sed - Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using the rules used by the Unix Sed utility in IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX), Shells and Utilities.
- Tcl - Specifies that when a regular expression match is to be replaced by a new string, the text that matches the regular expression will be replaced by the replacement text.
- Enter the text you want to replace the Regular Expression with, in the Replacing Text field.
- The new line in the table above should now be populated with your changes:
| Add a new Text Replacement |
| Re-order the list of Text Replacements. This is important because the order in which the items appear in the list, is the order in which the analyzer will replace the character strings that match the Regular Expressions. Thus, if you have a complicated set of Regular Expressions and replacement texts, difficulties could arise if the order in which they are dealt with is not correct. |
|
| Delete an existing Text Replacement |
| Only visible at Application and Analysis Unit level Use this button to reset the list to the entries defined at one level higher: - Analysis Unit level - entries will be reset to all listed at Appplication level
- Application level - entries will be reset to only those listed at Technology level
|
Production
Click to enlarge
The Production tab is only visible at Technology and Application level.
Data to generate - Parsing options
Add called files to selected files list | Selecting this option will automatically add any files to the list of files selected for analysis that are called by files that you have already selected. |
Add included files to selected files list | Selecting this option will add any files to the analysis list that are included in files that you have already selected. |
Maximal Complexity | This option enables you to manually enter a percentage which will refer to the m complexity of the analysis process. - A complexity percentage of 100 (default) corresponds to a maximum of 10,000 function analyses (function * context) for a given file.
- A complexity percentage of 70 corresponds to a maximum of 7,000 function analyses (function * context) for a given file.
- A complexity percentage of 0 corresponds to an unlimited analysis of all the called functions.
If the maximum number of function analyses is reached, this will be logged. When the limit is reached, links to the function will be created correctly, but links from the function will not be created. You should alter the complexity percentage if your analyses are taking a long time to complete with the default setting of 100%. Changing the percentage to a lower figure will reduce the number of function analyses for a given file, thus improving performance. Remember though that doing will cause some links not to be created. |