The Lausanne JUG (Java User Group) this Thursday, February 10 organized an evening around software quality, with an original approach: the main market players were invited to perform the analysis of an Open Source project, IceScrum, and introduce their tool through the results of this analysis. We played the game and analyze this project on our platform, here is a summary of our analysis. As we conducted our analysis on Cloud platform, we provide an open access to this project. To access and view full results:
- URL: https://cockpit.kalistick.com
- Login: jug.ch
- Password: lausanne
Our platform also automatically generates audit reports, synthetic or detailed, in MS Word, MS Powerpoint or PDF. Here is the detailed report for the IceScrum project:
If you want to analyze your own project, you can also create your dedicated access instantly on this page (complete and free 30 days evaluation). We present our analysis in 4 parts:
- Project description and analysis process
- The quality analysis
- Evolution and impact analysis
- The Action Plan
The analyzed project: IceScrum
IceScrum is a collaborative tool to manage projects following the Scrum methodology. It was originally an academic project developed under the leadership of Claude Aubry, a famous French Agilist. The JUG requested to analyze the version 2, released on May 2010. Since, then the project has been completely redesigned and version 3 is available. IceScrum is now one of the most known agile products.
The analysis process
The analysis process is fully automated in Kalistick platform. We just grabbed the sources of the project (from https://icescrum.svn.sourceforge.net/svnroot/IceScrum) and configured the Maven execution to use our Maven plugin. Maven plugin builds an archive of the project (from source, compiled sources, libraries, SVN information and unit tests reports) and then uploads it to the Kalistick server, triggering the analysis. Everyone can implement this process on our Cloud platform in just a few minutes. Since the Kalistick platform is not a simple audit tool, but a solution aimed to be used continuously, we also analyzed a previous version of IceScrum (R2#13 released on May 2009). This allows to activate indicators related to changes and business risks.
Modeling application
The Cockpit (the web console) can modelize an application through technical models and business views, which is useful for:
- better understand what the application is made, and how the different features are organized
- provide a synthetic support for to show comprehensive results to all project members, even those without technical knowledge on the code
- check the technical architecture, by comparing its current state with the target architecture model
The Cockpit provides a wizard to help build and maintain models (see How to design customized views of your application ). Here are the ones that were created for the project IceScrum:
- The business view. Kalistick analysis generates a lexical corpus of business words found in code, which could be used to ease models creation. These models are used to show impacts of changes and regression risks between two versions. Business view built for IceScrum project is quite synthetic, but could be more detailled.

- The technical architecture. The technical model is generated automatically, based on dependencies, organization, or the naming of the code. Besides providing synthetic representation of the application, technical models can also define communication constraints between the technical modules, within application code or external elements (third party libraries). You easily see that IceScrum architecture is based on JSF (Java Server Faces), with a typical layered architecture.

These models will be exploited later to provide results, whether for quality analysis, or impact analysis. Next part is about quality analysis results.

Pingback: OCTO talks ! » Retour sur le JUG de Lausanne sur l’analyse de la qualité du code Java