Introduction

Kiuwan for Developers (K4D) is a plug-in for Eclipse IDE that facilitates and automates compliance with quality standards and best practices for several languages.

It provides the following benefits:

Kiuwan for Developers monitors and reports on the quality and efficiency of your code at the point that it is written. This immediate feedback provides you with the opportunity to improve your code before it is delivered.

Supported IDEs and Requeriments

 

Kiuwan for Developers (K4D) has been succesfully tested in following IDEs and minimum versions:

  • Eclipse : Luna (4.4) 
  • RAD (Rational Application Developer for WebSphere) : 9.5
  • K4D is not supported yet under MacOs


K4D is also available for Microsoft Visual Studio (please visit Kiuwan for Developers for Microsoft Visual Studio)

For others IDEs and versions, please contact Kiuwan Technical Support

Kiuwan for Developers (K4D) requires Java 8 or above —either JDK or JRE— is required.

You may download it from http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Please visit Java 8 and JAVA_HOME for further info

If your are running Eclipse under Linux/Unix you can experience problems after install K4D

That's due to some well-known problems with GTK3 use by Eclipse distributions. Please visit next links for furhter info.

To solve this issue, please modifiy eclipse.ini :

Add to your eclipse.ini:

--launcher.GTK_version 

before the line:  

--launcher.appendVmargs 

 

Installation

 

To install Kiuwan for Developers just follow the steps below:

  1. Open Eclipse and, in the main menu, click on Help >> Install New Software...
  2. Select the Add... option and type the following values:
    1. Name: Kiuwan
    2. Location: https://www.kiuwan.com/pub/updatesite
  3. Pressing Ok will save this new update site and Eclipse will query our server to retrieve available features and plugins
  4. The Kiuwan for Developers feature will appear in the list below, check it and click on Next >
  5. Read and accept our Terms of Use
  6. Accept the certificate used to sign our product
  7. When the installation finishes and Eclipse asks to restart the IDE, please do so

 

 

 

If installation successfully completes, Kiuwan for Developers will be up and running upon restart!

Updates

Kiuwan for Developers checks automatically for updates on Eclipse startup and on a daily basis after that.

If you need to check it manually, you can do so through the standard Eclipse mechanisms, or by simply going to Window >> Preferences >> Kiuwan and pressing the Check for updates button.

 

Configuration

 

Connection Settings

 

After installation, you need to configure K4D to connect to Kiuwan servers.

K4D connection settings is configured at Window >> Preferences >> Kiuwan >> Connection Settings



Fill in you User and Password of your Kiuwan Account and click Check Credentials to validate access.

In case you are using a proxy, please configure Proxy Settings.

 

Analysis Filters

You can configure file inclusion and exclusion patterns for the analysis. Please visit Source Code Filters for further help on this.
By default, it's only configured Exclude patterns (containing a list of file patterns commonly containing not relevant source to be analyzed).
Also, you can modify the default extensions associated to available language engines.

 

This configuration is general to K4D installation, but you can configure analysis filters per-application. 

To do it,  go to Project >> Properties >> Kiuwan >> Analysis Filters and click on Enable project specific settings

 


Mapping your Eclipse project to Kiuwan Application

After K4D is installed and connection is configured, you are ready to map your Eclipse project to a Kiuwan application.

To map your Eclipse project to Kiuwan, you can do it in several ways:

  1. Project >> Properties
  2. Right-click on your project and select Configure >> Convert to Kiuwan Project...
  3. Right-click on your project and select Properties.

Next dialog will be open.

 

 

To map your Eclipse project to a Kiuwan Application allows to execute K4D analysis synced to the Kiuwan Model defined at application level.

This means that K4D analysis will be executed with the same Model (rules, configuration, etc.) defined for for the Kiuwan application.

Please visit Models Manager User Guide for further help on Kiuwan Models.

 

Also, mapping your project to a Kiuwan Application allows to download defect list found by Kiuwan servers to you Eclipse, so you can work locally on fixing those defects.

 

K4D execution modes

 

K4D can be configure to run in different execution modes:

  • Manual
    • You manually invoke the Kiuwan analysys
  • Automatic
    • Kiuwan analysis is executed automatically upon changes in the code.

 

By configuring K4D, you can decide when Kiuwan will be executed and what files will be analyzed.


Manual analysis

If your Eclipse project is NOT configured to "Build Automatically", Kiuwan will only run on-demand.




In this case, to manully execute the analysis, left-click on the selected item (file, folder, project) and select "Run Kiuwan Analysis".

Kiuwan will then execute the analysis on the selected item(s).

 

 

Automatic analysis

If your Eclipse project is configured to "Build Automatically", Kiuwan will run automatically and you can configure when the analysis will run and on what files.

K4D execution mode is configured at Window >> Preferences >> Kiuwan >> Analysis Options

If your Eclipse project is configured to "Build Automatically and "Automatic quality analysis" is checked,  

Kiuwan will analyze a file after you save the file. Only the selected file will be analyzed.

 

 

If your Eclipse project is configured to "Build Automatically and "Do full builds" is checked, 

Kiuwan will analyze the complete project when you Clean the project.

Please note that this option is only available if "Automatic quality analysis" is checked.

 

 

K4D Defects List

 

To view the analysis' defects list, go to Window >> Show View >> Other >>  Kiuwan

 

 

Local defects list

 

Local defects list displays defects found during local analysis executed within your Eclipse.

 

 

Double-clicking on a defect will open associated file in Eclipse editor and place cursor on affected line.

Right-clicking and selecting a defect will allow you to inspect Rule Information for a better understanding of the defect.

This option will open an internal browser to display Rule Information.

In case you are presented with Kiuwan Login page, please use the same credentials than used in K4D Connection Settings.

 

Vulnerabilities details (Source and Sink) 

 

Security defects (i.e. vulnerabilites) are prefixed by a > icon. 

Clicking on > icon will open details on associated Source and Sink of the defect.
Just double-click on any of them to open source file and line.

 

 

Local Analysis Configuration

K4D will execute the analysis with the rules contained into the model associated to the mapped Kiuwan application.

But K4D also allows you to reduce the scope of the analysis to a subset of that model.

When you execute the local analysis on your Eclipse project, the number of defects can be quite large. If you are not going to work on all of them, you should consider to reduce the analysis to to let you concentrate on the most important subset of defects. K4D allows you to configure the local analysis to only report defects based on PriorityCharacteristic, Language or even a subet of file (based on file path substring)

This would allow you to concentrate on a specific set of rules or files, reducing the number of defects that appear in the list. Only those defects matching the filters will be displayed.

An important point is to set a limit for the number of defects displayed in the list

By default, it's set to 100. You can increase such limit, but performance of your Eclipse can be seriously damaged. Take care not to set that limit to a high number.


You can access Local Analysis Configuration by clicking on  icon of Local Defects list. 

Note: All the options unchecked are equivalent to all checked.

 

Configuring Defects View

Regardless of you have configured the subset of defects of K4D analysis (see above), you can further reduce the defects view by defining additional filtering conditions.

Most important filter is Scope:

Additionally, you can define filters based on Priority, Characteristic and Language.

You can define view filters by clicking on   icon of Local Defects list. 

Note: All the options unchecked are equivalent to all checked.

Server defects list

Server defects list displays defects of the application stored at the Kiuwan servers.

This utility allows developers to download defects found during Kiuwan analysis of the application in a centralized environnment.


For example, let's consider that at some predefined point in application life cycle (for example, previoulsy to commit a new release to a pre-production environment), the application is analyzed in a centralized environment.
This analysis finds some defects that must be fixed before deploying to next phase. So, you, as a developer,will be notified that you must fix some blocking defects. 
When you start working on it, you need to have full and easy access to those "server" defects. 
Why do you need to have access to server defects ? Because it's very likely that you Local defect list be different to Server defect list:

In these cases, you will need to have access to server defects.

 

Source of Server defects list

 

Depending on your needs, the source of server defects could be different :
  • Last baseline analysis
    • All the defects found during last complete application analysis (i.e. the Application Baseline)
  • Action plan
    • Defects included within an Action Plan (you can select the plan from the app's list of available action plans)
  • Audit Delivery
    • Defects that must be fixed so the Audit of a delivery can be successfull (you can select the delivery among the list of executed deliveries)

Please, visit Kiuwan Life Cycle documentation for a full explanation of Baseline, Delivery and Audit concepts).

You can access Source of Server defects by clicking on  icon of Server Defects list. 

Note: All the options unchecked are equivalent to all checked.

 

Besides to configure the source of server defects, you can further filter server defects to be downloaded based on Priority, Characteristic, Language or File Pattern

An important point is to set a limit for the number of defects displayed in the list

By default, it's set to 100. You can increase such limit, but performance of your Eclipse can be seriously damaged. Take care not to set that limit to a high number.

 

Configuring Filters

Besides to configure source and filters, you can further reduce the server defect list by defining additional filtering conditions.

You can define view filters by clicking on   icon of Server Defects list.

Note: All the options unchecked are equivalent to all checked.

 

An important filter is Scope:

Additionally, you can define filters based on PriorityCharacteristic and Language.

Because your source code could be different to the  source code of the analysys server, it might happens that some server defects could not match your current source code.

In these cases, you can filter by Orphan defects to display only those defects matching your currrent source code (defects with associated local resource) or those that doesn't (defects without associated local resource), or all of them.

A server defect could have been muted (for exmple, because it's a false positive or because it's a so special condition that must not be fixed). In these cases, you can use the Muted filter.

Any server defect may have an associated Life Cycle Status (To Review, Reviewed, or None) . When server defects are downloaded, you can filter defects based on their status. 

If you work on a to-review server defect, right-clicking on the defect you can "Mark as reviewed locally" that defect (see image below), and filter the defect list using Reviewed locally filter.

Then, that defect will be marked as "Reviewed locally"

Support and Troubleshooting 

If you experience problems with the Kiuwan plugin for Eclipse, you can read Kiuwan Documentation to find a solution, or if you prefer you can collect troubleshooting information and send it to us.

 

Important information for troubleshooting is scatered across several log and configuration files.

To make this process easier to you, just go to Window >> Preferences >> Kiuwan >> Support and press the Extract support data button.

Choose the folder where you want to save this information, and submit to our technical support team the compressed file generated there. 

Visit  Contact Kiuwan Technical Support on how to contact us. We will address your problem as soon as possible.