This page is dedicated to understanding the principles of field extension development of extensions beyond product and product road map
There are 5 types of extension development
- Adding custom rules on top of existing supported AIP technologies not in the product road map.
- Creating supported extensions for unsupported AIP technologies not in the product road map
- Enhancing existing user community extensions with new version support for technologies which are not in the product road map
- Developing an extension using existing OpenSource code checkers to insert new metrics in AIP
- Converting old UA-based technology to full-SDK-Python
The objective of creating an extension
- It is possible to "extend" CAST AIP with an extension to provide additional analysis and measurement capabilities both for technologies that are not supported "out-of-the-box“ and for technologies supported by CAST AIP
- "Official" CAST AIP Extensions are provided by CAST and are downloaded and installed on top of CAST AIP to provide support for specific technologies (analysis/measurement/discovery/extraction) that are not supported "out-of-the-box" by CAST AIP
Extensions are developed using the full Python SDK
The prerequisite skills for extension development are:
Python programming experience, including
File stream object knowledge for reading and writing files
Collections use knowledge, for example List, directory and tuples
Knowledge on the file parsing concept
Usage of third-party libraries
Knowledge of database query execution
Usage of library xml.etree.ElementTree which is needed for parsing xml-based source code
Usage of lxml library which is needed for xml-based source code
Knowledge of writing log messages using libraries like logging..
Writing function
Debugging programs using eclipse
- CAST AIP basic certification including
1.Schema creation extension installation knowledge
Source code packaging
Adding extension in CMS related to that technology
Knowledge of analysis and snapshot launching
Enlighten knowledge
It is normally a two-day course to cover concepts, including practical work. The course Powerpoint is available at the CAST University
There are some basic concepts for the development of an Extension in AIP
- You need to configure the CAST SDK to develop the custom extensions.
- To develop Custom Extensions to analyse a language not already supported by CAST, you need to follow the following three-step process:
- Define the language and objects for the language you want to analyse
- Define how to analyse the language you want to analyse - only necessary if analyzing source code
- Test the configuration files for completeness and then include the configuration files in a custom extension
Information on extending CAST AIP is available at Extending CAST AIP
CAST has a specific site for extensions which is located at CAST Extend
There are some examples available within CAST Extend which are SDK training samples on extending