Using the Class Dependency Analyzer for OODT By Joshua Garcia Motivation • A software system has many dependencies – Programming language level • Finding relevant dependencies • Displaying dependencies in an understandable form • Usable • Simple Motivation – iRODS - Prescriptive 3 Source: https://www.irods.org/index.php/Introduction_to_iRODS Motivation – iRODS - Descriptive 4 Overview • Class Dependency Analyzer (CDA) – Find dependencies – Visualize them – Relatively Usable and Simple • Granularity – Package, class, jar, directory structure Compiling OODT • • • • You will need Apache Maven Please refer to the Maven website about how to install Maven Maven will need to download dependencies Compiling all of OODT takes long – If you want try compiling all of OODT, going to the top directory containing all the source directories and a pom.xml file and type • mvn install • You can change to each source directory in the OODT tar.gz file that has a pom.xml and use the following command to compile – mvn install • Compiling with Maven – Go to the core directory of OODT and type “mvn install” without the quotes Installation of CDA • Unzip the archive pf-cda-x.x.zip to any directory you want. • Then ensure that environment variable JAVA_HOME is set to a Java Runtime Environment 1.5.0 or higher. • Open a command shell in the directory to which you unzipped the archive. • Run the script sssgen.bat or sssgen.sh to generate a start shell script that invokes the tool with absolute classpath entries in order to allow to start it from anywhere in the file system. • Eventually a run.bat (or run.sh on Linux) must be available in the directory Source: http://www.dependency-analyzer.org/#QuickStart Importing Source to Analyze • File->New • Workset Wizard dialog appears • In the General tab, enter a Name in the associated text box • In the Classpath tab, click the add button – Can select jar, Eclipse .classpath file, folder containing .class files • Display Filter tab and Ignore Filter tab – Filter out package patterns • Once you click the save button in the Workset Wizard, you will be asked to save your workset. Highlighted Features • Find – – – – All dependents Direct dependents All implementors …. • Graphs that show all dependencies between two classes • Show dependency, graph, or hierarchy view for selected elements • Tabular views of dependencies – Copy and paste to text • Different icons for different kinds of entities • Finding main methods – Right click on the workset row or icon • Find duplicate classes • Circular dependencies – Doesn’t seem to work