1 Kalibro multi-language code analysis tool Paulo Meirelles By Paulo Meirelles, Carlos Morais, Vinicius Daros, and Fabio Kon is licensed under a Creative Commons Atribuição 2.5 Brasil LicenseFabio Kon Creative Commons Atribuição 2.5 Brasil License
Overview
3 Multi-language
4 Desktop/off-line Version
5 Web Visualization w/ Spago4Q Web service Integrated w/ Spago4Q
6 Flexible arciteture w/ high software reuse Other metrics collectors can be used
7 Database w/ different metrics thresholds and analysis interpretations
8
Metrics
10 Code Analysis Tool ● Analizo is the code analysis integrated by default ● a free and multi-language toolkit ● supports the extraction and calculation of a fair number of source code metrics ● efficiently parses for C, C++ and Java – Free software community is working to support more languages next year
11 Metrics provided ● Afferent Conexions per Class ● Average Cyclomatic Complexity per Method ● Average Method Lines of Code ● Average Number of Parameters per Method ● Coupling Between Objects ● Depth of Inheritance Tree ● Lack of Cohesion of Methods ● Lines of Code
12 Metrics provided ● Maximum Method Lines of Code ● Number of Attributes ● Number of Children ● Number of Methods ● Number of Public Attributes ● Number of Public Methods ● Response For a Class ● Total Number of Abstract Classes
13 Metrics provided ● Total Coupling Factor ● Total Effective Lines of Code ● Total Methods Per Abstract Class ● Total Modules (Classes) ● Total Modules with Defined Attributes ● Total Modules with Defined Methods ● Total Number of Methods
Kalibro Desktop
15 Main form
16 Settings Edit settings
17 Settings options
Kalibro Desktop: off-line mode
19 Using as desktop off-line mode Off-line mode Configure how projects will be loaded and analysed as well as the database where results will be stored
20 Off-line mode
21 Metrics configuration Kalibro has a default configuration according to thresholds defined to Qualipso project, but you can create a new set of threshold or add compound metrics
22 Configuration description
23 Adding a new metric a compound metric
24 Defining threshold A interpretation of an threshold can be added to explain what a metrics means within a specific range
25 Thresholds added “n” thresholds are can be added according to acontext
26 Creating a Kalibro project
27 Defining a Kalibro project
28 Analysing source code
Kalibro Desktop: as service client
30 Using as service client Web service client Kalibro connects to a server which will run the analysis and only send back the results. The server address is set in Service endpoint field. The frequency that Kalibro will request results from server can be set in Listener latency field.
31 Web service client
32 Open Project Projects from Spago DB
33 To see global results of project
34 Analyzed 148,593 lines of code in 10 min. and 35 seg.
35 Choose a configuration: a set of thresholds
36
37 By package
38 By classe/module:.java,.c, or.cpp files
Kalibro Service Spago4Q
40 Kalibro + Spago4Q
41 Kalibro + Spago4Q Analytical Model >> Documents Development
42 Kalibro + Spago4Q All tools integrated at the USP server Run Kalibro
43 Kalibro + Spago4Q Select a project (source code) Projects inserted by Kalibro Desktop as Service Client or “Insert project” form
44 Kalibro + Spago4Q “Run Spago” (execute document)
45 Spago4Q
46 Spago4Q Threshols for C/C++ projects from USP research
47 Insert Project form
Get involved
49 Qualipso Release This version is the Kalibro final release delivered to Qualipso project. Now, new features and bug fixes will be implemmented according to free software community interaction.
50 Get Involved Kalibro is part of a free software community called Mezuro. This community is comprised of multi-language code analysis and visualization tools such as Kalibro and Analizo
51 Get Involved Community: Mailling list:
52