Summary: This document provides information about the extension providing Flex support.
Please see See Flex 1.1 - Release Notes for more information.
This extension This extension provides support for applications written using Flex languages. If your application contains source code written using Flex and you want to view these object types and their links with other objects, then you should install this extension.
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.
In what situation should you install this extension?
If your application contains source code written using Flex and you want to view these object types and their links with other objects, then you should install this extension.
Function Point, Quality and Sizing support
|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|
Supported DBMS servers
This extension is compatible with the following DBMS servers:
Only files with following extensions will be analyzed:
- * .as
- *.mxml mxml
Download and installation instructions
The extension will be automatically downloaded and installed in AIP installed by CAST Imaging Console when at least one of the supported file types is types is delivered for analysis. You can also manually install the extension using the Application - Extensions interface. When installed, follow the instructions below to run a new analysis/snapshot to generate new results:
Source code discovery
A discoverer is provided with the extension to automatically detect Flex code: when one of the supported file types is types is found in a folder, one "Flex" project will be discovered, resulting in a corresponding Universal Technology Analysis Unit in AIP CAST Imaging Console.
Flex source code needs to be preprocessed so that CAST can understand it and analyze it correctly. This code preprocessing is actioned automatically when an analysis is launched or a snapshot is generated (the code is preprocessed before the analysis starts). Flex Preprocessor log file is stored in the following location:
Metrics/Rule data are generated using an external tool provided by Adobe called FlexPMD. The FlexPMD log file is stored in the following location:
|Tool||Error or Warning||Action|
|Flex Plugin||UA Plugin : No property (......) found in meta model for Flex...||No action required. The analyzer is telling you that not all the properties are considered to be injected into the Analysis Service.|
What results can you expect?
The following structural rules are provided:
Duplicate Object of type … is detected warnings
The analysis log will contain the warning "Duplicate Object of type … is detected" in the following situations:
- When members or functions are overloaded using "static" - this is partially a limitation inherent in the Universal Analyzer (the "engine" used for Flex analyses).
- When functions/variables are defined using different cases (for example "sort" and "Sort").
Strings are not supported in:
In both cases, if these strings contain single/double quote marks, the file may be skipped.
Name matching links - Universal Analyzer limitation
Due to a limitation in the Universal Analyzer (the "engine" used for Flex analyses), links will be created from any name to any matching name. At a minimum the following rule may be impacted and give erroneous results:
Avoid artifacts having recursive calls (7388).
Dynamic links which require dataflow/interpretation of parameters across multiple artifacts
Because of way the Universal Analyzer (analysis engine used by the Flex extension)functions, dynamic links which require dataflow/interpretation of parameters across multiple artifacts are not supported. If links are required for these situations, a custom reference pattern can be created to manually create the links (see CMS - Dependencies - using Reference Patterns for more information).