Projects tagged ‘modularization’ and ‘ood’


Jump to tag:

Projects tagged ‘modularization’ and ‘ood’

Filtered by Project Tags modularization ood

[1 total ]

0 Users

Barrio is a dependency analyzer for object-oriented programs implemented in Java. It discovers and visualizes community structures in the dependency graph which might represent opportunities to ... [More] refactor the program into a more modular structure. For instance, a package containing two independent clusters could be split, and the new packages could be deployed in separate jar files. Barrio will also detect if there are few dependencies that destroy the modularity of programs (i.e., glue clusters together). The following figure shows the dependency graph of the classes in the Apache Commons Collection library analysed with the barrio Eclipse plugin. The blue and red regions show clusters and explicitly defined packages. The large package on the left side of the graph contains several clusters, and could therefore be split. Barrio is designed as an Eclipse plugin. Barrio has the following features: Barrio can import dependency graphs stored as ODEM files (these graphs can be generated with CDA from bytecode). Barrio can also extract the graph from project source code. Graphs extracted from source code can be exported back to ODEM files. Barrio can apply filters to the graph. Barrio can visualize the graph. Visualization is based on Prefuse. Barrio can find clusters in the graph based on the Girvan-Newman algorithm. The Jung implementation of the algorithm is used. Barrio allows users to set a separation level in order to remove edges destroying the modularity of the program. Those edges might present refactoring opportunities. The discovered clusters are compared with the modular structure of the program (i.e., the use of packages and jar containers). Barrio can be used to define stereotypes based on rules. For instance, UI classes can be defined as classes referencing the java.awt package. UsageThe software is distributed using the Eclipse Update mechanism. The update site is http://barrio.googlecode.com/svn/trunk/barrio.update/ . Please check from time to time for new versions. The plugin requires Eclipse version 3.3 or better! Once installed, you will need some input data. You can download a zip file containing sample data from the download section, or create data for your own project using the CDA tool. Planned featuresDetection of motifs (patterns) in the graph using a declarative graph query language. [Less]
Created 12 months ago.