Software Quality: JSF Component Libraries

Markus Eisele
1
Working for a larger sofware company has some advantages. One of them is, to have a software quality checker at hand, which can be easily configured to run on any java project. What is called "msgJavaMessplatz" (Java measuring station) depends on quite popular tools.

- JavaNCSS - A Source Measurement Suite for Java
JavaNCSS is a simple command line utility which measures two standard source code metrics for the Java programming language. The metrics are collected globally, for each class and/or for each function.

- Checkstyle 4.4
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.

- FindBugs
Is a program which uses static analysis to look for bugs in Java code.

- Simian v 2.2.17
Simian (Similarity Analyser) identifies duplication in Java Code.

- Dependometer
Dependometer performs a static analysis of physical dependencies within a software system.

- Cobertura
Cobertura is a tool that calculates the percentage of code accessed by tests.

This was planned for quite some time now. Today, I finaly managed to setup the testing environment and run a few quality checks with the first candidates.
To give you a brief overview of the candidates, here are the basic metrics in terms of size and quality. I will compile more detailed results during the week and publish selected results. So stay tuned for more ....

PrimeFaces 1.0.0-SNAPSHOT
RichFaces 3.3.X
ICEfaces 1.7.1

ICEfaces
RichFaces
PrimeFaces
Package Depth
7
5
5
Type Inheritance
6
4
3
NCSS
38087
9186
8340
# Classes
520
225
160
# of Functions
5601
1526
796
# Packages
66
21
86
# design rule violations
243
39
25
# import rule violations
127
15
6
Findbugs Total Warnings
760
173
217
Findbugs Density
13,2
3,69
9,13


Screenshot of the "msgJavaMessplatz".
..oO(you can not buy the tool ... )

Post a Comment

1Comments

  1. ICEfaces spans JSF 1.1 - 2.0, JDK 1.4 - 1.6, Portlets, server-specific asynchronous request processing, custom integration for the lifecycle variations of Seam and Spring Web Flow, and request/response virtualization for easy to use Ajax Push, but things are considerably simpler in ICEfaces 2.0.

    Hats off to PrimeFaces for the excellent code quality.

    ReplyDelete
Post a Comment