This page offers an overview of which technologies are supported by Kiuwan.
Contents:
New languages!
Since Feb 2020 = GO
Since Dec 2019 = Kotlin
Kiuwan supports 30+ different technologies and this set is continuously growing as we develop new parsers.
Below you can find the current set of supported technologies.
If you do not find a specific technology, or you have any questions, do not hesitate to contact us (Contact Kiuwan Technical Support)
List of Supported Technologies and associated File Extensions
Kiuwan provides built-in engines to process different technologies.
Below you can find the default mapping between technologies and file extensions.
When Kiuwan processes source files, it will apply the engine based on the found file extension.
Language | Extensions |
---|---|
ABAP | abap,bsp |
ActionScript | as |
ASP.NET | asax,ascx,ashx,asmx,aspx,master |
C | c,h,pc |
COBOL | cob,cbl,cpy,pco |
C++ | h,hh,cpp,hpp,cc,pc |
C# | cs,cshtml |
Go | go |
HTML | htm,html,xhtml |
Informix | sql,4gl |
Java | java |
JavaScript /TypeScript | js,xsjs,ts,tsx |
JCL | jcl,prc |
JSP | jsp,jspx,xhtml |
Kotlin | kt,ktm,kts |
Natural | nls,nlp,nlh,nlm,nss,nsp,nsh |
Objective C | h,m |
OracleForms | oforms |
PHP | php,php3,php4,php5,php6, phps,phtml |
PL-SQL | sql,sf,sps,spb,sp,fnc,spp,plsql,trg,st,prc,pks,pkb,pck |
PowerScript | sru,sra,srw,srf,srs,srm,srx |
Python | python,py |
RPG4 | rpg,rpg3,rpg4,rpgle,dspf,mbr |
Scala | scala |
Swift | swift |
Transact-SQL | sql,tsql,sp |
VisualBasic 6 | bas,frm,cls |
VB.NET | vb |
Third-party languages:
Apex
- Groovy
- Perl
- Ruby
For more information regarding those languages, please contact the Kiuwan support team.
Customization of File Extensions
The above mapping is the default used by Kiuwan, but it can be fully customized in several ways.
Full customization can be done using Kiuwan Local Analyzer
The most common need for custom configuration is when your source files belong to a supported technology but with a different extension.
In this case, you can add that extension to Kiuwan.
For example, if you Cobol files have “ .cobol” extension, you could add “cobol” to COBOL’s extension list.
In this way, when Kiuwan finds source files with “ .cobol” extension, it will trigger the COBOL technology parser and apply COBOL rules.
Customization can be done in two ways:
- System-wide (applicable to ALL the analyses of a Kiuwan installation)
- Application-specific (applicable to ALL the analyses of a specific Application)
Here are further instructions:
System-wide customization
To apply an extension-technology mapping to all analyses (even of other applications), follow the instructions below.
- Option 1: Open Kiuwan Local Analyzer in GUI mode
- Open Extension Editor,
- Add the new extension to the right technology
- In the Saving dialog, select Save as default.
- This action will overwrite the LanguageInfo.properties file.
- Option 2: Open KLA in CLI mode
- Modify $AGENT_HOME/conf/LanguageInfo.properties adding that extension to the right technology.
- i.e. Set cobol=cob,cbl,cpy,pco,cobol
- Modify $AGENT_HOME/conf/LanguageInfo.properties adding that extension to the right technology.
This mechanism allows you to modify the extensions associated with the technologies, keeping the current set of applicable technologies.
Application-specific customization
To apply an extension-technology mapping to all analyses of a specific application, follow the instructions below:
- Option 1: Open Kiuwan Local Analyzer in GUI mode
- Open Extension Editor,
- Add the new extension to the right technology
- In the Saving dialog, select Save
- This action will create/overwrite the next property file.
- Option 2: Open KLA in CLI mode
- Modify $AGENT_HOME/conf/apps/<appname>.extensions.properties adding that extension to the right technology.
- i.e., set cobol=cob,cbl,cpy,pco,cobol
- Modify $AGENT_HOME/conf/apps/<appname>.extensions.properties adding that extension to the right technology.
File Extensions Matching more than One Technology
There are some special cases where the same extension (for example .sql) matches more than one technology (in this case, PL-SQL, Transact-SQL and Informix).
If you analyze your code in the Cloud or with Kiuwan Local Analyzer Graphical User Interface (GUI), you will be asked to select the technology to apply to that analysis. In that way, Kiuwan will apply the selected technology to those files in that analysis.
But, if you run the analysis through Kiuwan Local Analyzer Command-Line Interface (CLI), by default the analysis will apply all the matching engines to those files, resulting in a waste of time and resources as well as producing confusing results (the whole set of rules for every technology will be run against the same sources).
In CLI mode, we strongly suggest you to properly configure Kiuwan to avoid this situation and only apply the right Kiuwan engines.
Depending on the needs, there different solutions.
- System-wide (applicable to ALL the analyses of a Kiuwan installation)
- For example, in ALL my applications .sql files ALWAYS refer to PLSQL
- Edit $AGENT_HOME/conf/analyzer.properties and delete informix and transactsql from supported.technologies property values
- Every analysis will take this configuration from now on.
- Analysis-specific (applicable to the specific analysis being executed)
- In these cases, you must specify in command line the explicit set of technologies for that analysis.
- This can be done by specifying supported.technologies parameter to the appropriate values
- For example: agent.cmd [options] supported.technologies=java,jsp, plsql
- No labels