Brief Description
Project Name:
Binoculars_2010.
Duration:
5 Months ( June, 2010 to October, 2010 ).
Client:
Department of Software Systems. Tampere University of Technology.
Status:
Successfully Completed.
Project: Cloud
Software Project, Department of Software Systems, Tampere University of
Technology.
Project Group:
M.M. Mahbubul Syeed, Prof.
Tarja Systä and Prof. Tommi Mikkonen.
Tools used:
Java (J2SE),
Eclipse, Eclipse Rich Client Platform (RCP), ZEST graph
visualization kit, JFree
charts, SWT, Dom
XML parser.
Project
Description:
Binoculars_2010 (see features and snaps) is the upgraded version
of the previous tool Binoculars. This tool has the same basic focus and
purpose as of its predisessor but encorporates massive upgradation.In brief, the foucs of this work is to analyze open source
projects both from
the point of view of Reverse Engineering (RE) and Social Network
Analysis (SNA). Thus this tool analyzes those aspects of an Open Source
project for which both RE and SNA are required by exploiting all the
available data sources that are used by both these approaches (i.e.,
code base, SVN checkout, project mailing list, bug repository, user
information system). Interested reader can find more on this here. Some of the example queries that one can make using this tool are,
Q1. Where does the
expertise
lay in the developer community? Who are the developers responsible for the
particular code segment?
Q2. Do interlock and
cohesion
hold in the code base?
Q3. What is the inclusion
structure of the code base?
Q4. Does the inclusion
structure
of the code base conform to the organizational structure (i.e., does
the
Conway’s
law apply)?
Q5. Whom
(developer)
users should contact for solving an issue?
Q6. How
many people work
on each software component? Who are they?
Q7. Who
are the users
having common interest or usage of the software?
Q.8 What
are the critical
issues from developer’s perspective?
Q9. Who
are the people (developers) involved in answering user issues and
bug solving?
Features and Snapshots
Please click on the snapshot to
view larger image.
| Features |
Description |
Screenshots |
| Project View: |
List all the project that are already analyzed as tree view. In this view,
- New projects can be added.
- New graphs can be added under an existing project.
- Existing graphs and / or projects can be removed along with all the project data. |
|
| Graph View [Tabular]: |
Displays graph as list of edges and nodes. This view contains the followings,
- Edge list table list edges as, Source node, destination node, edge weight and weight detail.
- Node list table list all the graph nodes with the number of connections for each node.
- Node detail table shows information about a selected node. For example, shows detail of a code file or person info.
Sort and Search operations can be performed on these tables. |
|
| Graph view: |
Displays graphs in a graphical way with detail graph information. This view has the following parts,
- Graph display form: displays the graph with nodes and edges between then with edge weights.
- Node list form: list all the nodes of the displayed graph. This list can be sorted and selecting a node in this table will highlight corresponding node in the graph.
- Node detail form: this form shows detail information about a selected node in graph display form.
- Edge list form: This form consists of three parts,
- Graph Option table: shows total number of edges and nodes of the displayed graph and a
serach option to search nodes in the graph.
- Edge list table: lists all the edges in the table as source node, destination node, edge
weight. This table can be sorted on column data. Selecting an edge in this table highlights
corresponding edge in the graph.
- Weight detail table: list the weight elements for selected edge in the edge list table. |
|
| Graph customization: |
Displayed
graphs can be cusotmized in 5 (five) different ways. This option is
available for both tabular graph view and graph view.
- Node Nearest Neighbour: n
level nearest neighbour of a selected graph node can be viewed. It
shows the nodes that are nearest to a selected node for the given level.
- Split on edge weight:
User can set a range on edge weights and the edges that satisfies the
weight range is displayed. User can set both upper limit and lower
limit or either of them.
- Customize on selected nodes:
User can select a set of nodes from the node list and can draw graphs
on those selected nodes (if one existis in the original graph).
- Customize on selected edges: User can select a list of edges of their interest from the edge list table and draw graph on them.
- Customize on node attributes:
This is the most convenient graph customization option. User can set
values on any of the node attributes for customization. For example,
each person in the project has a joining date attribute. Thus one can
set a range of dates (e.g. between 10-01-2010 to 10-10-2010) or set
starting date (e.g. 10-02-2010) or ending date to view the customized
graph for that selected period. |
|
| Save graph: |
Displayed and cusotmized graphs can be saved to xml files. This option is also available for both the graph views. Following are the saving options,
- Save complete graph: Save the original graph with all edges and node list.
- Save complete node list: Save only nodes of the original graphs with their detail.
- Save this graph: Save the customized graph with all edge list and node list.
- Save this node list: Save only the node list for the cusotmized graph.
- Save this edge list: Save only edge list for the customized graph. |
|
| Layout Change option: |
Layout of a displayed graph can be changed. This option is available in graph view. There are four layout options available,
- Spring layout.
- Grid layout.
- Tree layout.
- Radial layout. |
 |
| Zoom Option: |
This option is available in graph view. A displayed graph can be zoomed from 0% to 400%. |
 |
| Chart View: |
Chart view is used to show summary data on the project. Two charts are currently available,
- Pie chart and
- Bar chart.
This view has the following parts,
- Data selection form
- Chart view form
- Chart component form
- Chart detail form
Followings are some cusotomization option provided by chart view,
- Selected data can be viewed either as pie chart or bar chart or both.
- Charts are customizable. User can add or remove chart data.
- Pie in the pie charts can be splited for clearer view.
- Chart components (each pie or each bar) are listed in the
chart detail table. Selecting a pie or bar in this table would list the
detail content of that pie or bar.
- Charts can be zoomed in or out.
- Charts can be saved as .png file. |
|
| Project Personel view: |
This
view lists all the projects, under each proejct list all the personels
and for each personel it would display their profile detail (e.g.,
name, user name, joining date, current position held, responsibilities,
organization(s) worked for, contact detail and other relevant
information provided by the project). |
 |
| Project code Base view: |
This
view also list all the project, for each project list all the code
files in the code base. For each code file it would show its detial
information. For example, code file name, extension, svn path, copyright information, developers names, included files etc. |
 |
| Project bugzilla view: |
This
view again list all the proejcts and under each project list all bugs
or issues posted. For each bug or issue this view will display the
following informaiton, issue id, issue title, priority, current status,
submitted by with date and time, list of repliers with date and time,detail description of the issue with all the replies. |
 |