Two minutes tutorial analysing FindBugs (without maven)

Download FindBugs unzip it in a folder

Set up your project in XDepend

  • Launch XDepend
  • Choose Create: Project
  • In the New XDepend Project window fill in :
    • Name with a name for your analyse ex: FindBugs_1.7.3
    • Location with the FindBugs_1.7.3 folder path you unziped(you may use the browse button)
  • Click on the view folder button
  • The window is divided into four parts
    • (1) is where to put all folders that contains sources, application and tiers jars (that will be scanned to find dependencies and sources during analyses)
    • (2) shows the content of the folder selected in (1)
    • (3) is meant to list application jars that are will be analysed
    • (4) shows some usefull about missing tiers jars or packages
  • Drag and drop FindBugs jars into (FindBugs_1.7.3\lib\findbugs.jar and FindBugs_1.7.3\lib\findbugs-ant.jar) into panel (3) (or use the browse button):
You may have noticed that
  • Folders containing dropped jars are added in panel (1).
  • The JRE jars path is automatically added if found
  • XDepend is now ready to analyze this project

Analyze!

  • Clic on the run analysis button or push F5
  • Three things will happen now
    • A bottom panel shows you information about analysis execution
    • An html report will be generated and open using your default browser
    • A window will open asking if you want to load the project analysis, click yes

Diving into the analysis

Some figures :
findbugs.jar
1.3.0

  • ByteCode instructions 252 275
  • lines of code (LOC) 54 214
  • Methods 12 028
  • Fields 5 037
  • Types 1 573
  • Packages 48
    Abstractness 0.1570248
    Instability 0.9984
    Distance from main sequence 0.1099019
    Normalized distance from main sequence 0.1554248
    Relational cohesion 5.357279
    Afferent coupling at jar level (JarCa) 1
    Efferent coupling at jar level (JarCe) 624

Jars dependencies graph

Packages depenendencies graph

Packages cyclic depenendencies graph and matrix

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.