The JCSD Plugin
This page contains:
What is JCSD?
JCSD is an Eclipse plugin that visualizes the control structure of a Java method by producing a CSD (control structure diagram).
Where do I download JCSD?
To download the JCSD plugin simply click here. To get the source code click here.
How do I install JCSD?
After downloading the plugin, you should drop the file into the dropins folder within the Eclipse main folder.
I have installed JCSD. What is next?
To start usig JCSD, assuming you installed it properly, you should follow this once:
- Go to the menu bar and select window.
- From the window menu select show view.
- From the show view menu select other then General.
- From the General list select JCSD,then click OK.
Now, you have a window that is used by the plugin to show you later the CSD diagram.
Screenshots of JCSD
-
This diagram and its code represent a Java method that creates the next
generation of Conway's Game of Life.
-
This diagram represents a real Java method called
getSize
which was taken from
the jEdit
open source project.
Control Structure Diagram - CSD
CSD is a visualization of the control structure of a method. This diagram
gives each type of construct a different geometric shape to enable the programmer
to differentiate between them. Also, it reflects the size of each block controlled
by a specific construct by allocating its geometric shape more space. In other words,
the wider the shape in the diagram the larger its block in the code. Moreover, the levels
and connecting lines represent nesting of constructs.
The JCSD Team
Prof. Dror Feitelson, Ahmad Jbara, Elinor Alpay, Daniel Shragai, Chen Shabo. Previous Contributors: Adam Matan.
Your Feedback
Your feedback is very valuable for us. Do not hesitate to send us email (ahmadjbara at gmail.com, dror.feitelson at gmail.com)
with suggestions, questions, and clarifications.
Are there scientific papers that support JCSD?
So far, there are two published papers that consider CSD for functions in the Linux kernel.
High-MCC functions in the Linux kernel
High-MCC functions in the Linux kernel - Journal version