Page tree
Skip to end of metadata
Go to start of metadata

Although this extension is officially supported by CAST, please note that it has been developed within the technical constraints of the CAST Universal Analyzer technology and to some extent adapted to meet specific customer needs. Therefore the extension may not address all of the coding techniques and patterns that exist for the target technology and may not produce the same level of analysis and precision regarding e.g. quality measurement and/or function point counts that are typically produced by other CAST AIP analyzers.

What's new?

Shell 1.0

Shell 1.0.1

  • Improvement for pre-processor log file: In all previous releases, manual and automated pre-processor operations generate a report log file called "shell_pp_report.txt" under \Configuration\Languages\SHELL\prepro. This file is overwritten each time the pre-processor is launched, therefore it is not possible to retain a history of the various pre-processing operations carried out for different analyses. To improve this behavior, we have introduced new variable in the "launch.bat" file to define the number of report log files to be retained. The pre-processor report log file will now have the date and time added as a suffix to the file's name (e.g "shell_pp_report_02-23-2015_ 651.txt") to avoid the file being overwritten.
    • The value "last_number_of_reports_to_keep" is declared in the "launch.bat" file
    • The default value of "last_number_of_reports_to_keep" declared in the "launch.bat" file is set to 10, i.e. only 10 preprocessing report files will be retained. On generation of  eleventh file, the oldest report log file will be deleted and a new file will be created in its place keeping the total count to 10 log files.
      • the default value can be changed as and when required
      • if the value is set to "-1", all the report log files will be retained
      • If value is set to "0", no new report file will be created and all other existing files will also be deleted
    • The behavior is the same for manual and automated pre-processing
  • Bug fixing - see  Shell 1.0 - Bug Fix List.

Shell 1.0.2

Shell 1.0.3

Shell 1.0.4

  • This release adds support for strings with many different patterns. Files which were skipped/ignored with previous releases of the Shell extension are now correctly analyzed. As a consequence, re-analyzing the same source code with this new extension will see an increase in the number of lines of code reported in the results.  
  • Bug fixing - see  Shell 1.0 - Bug Fix List.

Shell 1.0.5

  • This extension now uses a Java pre-processor replacing the existing Perl pre-processor. The new Preprocessor will be available under C:\ProgramData\CAST\CAST\Extensions\<version>-buildXXX\Configuration\Languages\SHELL\prepro
    • The preprocessor requires a JAVA_HOME system environment variable to be present on the machine, and therefore also requires a Java JRE 1.7 to be installed, see Prerequisites below.
    • The log file name uses the format com.castsoftware.shell_<YYYYMMddHHmmss>.log 
    • Only the latest 10 preprocessing log files will be retained
    • The time is also added for each log entry 
    • The launch.bat has been modified to be able to run from all the folders – until now it could not be run from the prepro directory

    • No manual pre-processor is delivered 

  • Based on the new pre-processor, we are now able to improve string support via the addition of support for Here document and Here String.
  • Bug fixing - see  Shell 1.0 - Bug Fix List.

Shell 1.0.6

Shell 1.0.7

Log improvements for the Shell Preprocessor

  • Improvements have been introduced with regard to the log files that are produced during an analysis of Shell code with the extension. Specifically, the logs produced by the Shell Preprocessor have been improved in this release of the extension. You can find out more information in Shell 1.0 - Analysis Configuration.

Auto import of CAST Transaction Configuration Center (TCC) setup

  • In previous releases of the extension, a TCCSetup file was shipped with the extension which could be manually imported into the CAST Transaction Configuration Center (TCC) to provide a pre-defined set of Shell Transaction Entry / End Points under "Free Definition". If you are using the Shell ≥ 1.0.7 extension with CAST AIP ≥ 8.3.x, then this Entry Point configuration specifically for Shell is now automatically imported when the extension is installed. See Shell 1.0 - Download and installation for more information.

Bug Fixing

Function Point, Quality and Sizing support

This extension provides the following support:

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points
Quality and Sizing

Prerequisites to using the extension

Note that these prerequisites are only applicable in the following circumstances:

  • If you are using version 1.0.5 of the Shell extension AND CAST AIP ≤ 8.2.0

Therefore, if you are:

  • using CAST AIP ≥ 8.2.1 AND version 1.0.5 of the Shell extension, you don't need to set a JAVA_HOME. The Shell extension will use the JRE provided with CAST AIP and located in the installation folder.
  • using version 1.0.4 of the Shell extension, you don't need to set a JAVA_HOME.
  • The extension requires a Java JRE to be installed on the machine: only Java JRE 1.7 is currently supported.
  • The extension requires that a JAVA_HOME system environment variable is also present on the machine, pointing to the Java JRE installation folder:

CAST AIP compatibility

CAST recommends that you always install the latest release of an extension.

Extension Version

AIP 7.2.xAIP 7.3.xAIP 8.0.xAIP 8.1.xAIP 8.2.x
1.0.1 or higher

7.2.4 or higher


7.2.3 or higher (note 7.2.3 requires the AIP 7.2.3 patch for Language Packs)

7.3.0 - 7.3.2


Supported DBMS servers

Microsoft SQL Server(error)

Supported Versions of Shell

This extension provides partial support for the following Shell versions:

  • Korn shell
  • Bourne shell
  • C shell

Documentation of Shell Quality Rules and Metrics

Documentation of all CAST Metrics and Quality Rules specific to the Shell extension is delivered via a compiled HTML Help file (CHM). Please ensure that once the CHM has been downloaded you right-click on the CHM file in Windows Explorer and choose Properties > Unblock. This will ensure that the CHM is readable on your own PC:

  • No labels