New version of CQM, Kiuwan Engine and Kiuwan Insights
1. Kiuwan CQM and Engine
Support for .Net Xamarin platform
This new Kiuwan Engine provides support for .NET Xamarin platform (Microsoft framework for developing multi-device mobile apps in C# for Android, iOS, MacOS and Windows mobile platforms).
Kiuwan engine is now aware of security-relevant items in Xamarin APIs, providing mappings for input elements in user-defined interfaces (via XAML in Xamarin.Forms) so they are properly considered as user-controlled input.
New Swift security rules
Performance Optimization Guide
If you need to optimize the performance of your local analyses, please read Performance Optimization Guide , a practical how-to guide to optimize the performance and memory consumption of Kiuwan local Analyzer.
2. Insights - Component Dependency Tree
Kiuwan Insights incorporates a new view to better understand the external dependencies of your app.
Insights' Component tab let's you now to select a Flat or Tree view of the external components of your application.
By selecting Flat view, you will be able to see the full list of external dependencies (as before), but opening a component you will see the "source" of the dependency, i.e. what's the path that Insights has followed to discover your component.
This Flat view will help you to identify the origin (source) of your dependencies.
For example, in this image you can view that the discovered component (ch.qos.logback:logback-classic) has its origin in a dependency within your pom.xml file which, in turn, contains other transitive dependencies (discovered in Maven repository) until the selected component.
The Flat view, then, displays the whole list of components, directly or indirectly used by your application.
Butm what if you need to know your "direct" dependencies? That is, to know what components are directly used (called) by your application, and be able to drill-down to view the components indirectly used by your application.
The Tree view allows to view your "direct" dependencies as well as the "indirect" dependencies.
The example below shows how the directly-used component "org.springframework.boot:spring-boot-starter-web" (Level 1) uses directly other components (level 2) which, in turn, uses other components (Level 3), and so on.