ArgoUML

The Source Code

Our results for ArgoUML were based on the source code obtained from their CVS respository.

PINOT in Action

PINOT is based on Jikes, so it works like a compiler. PINOT needs all the JAR files required for the actual build process. I basically followed ArgoUML's build instruction and tried to replace calls to javac as pinot. The build process first compiles source code in argouml/src/model, which generates argouml-model.jar for compiling argouml/src_new. Each directory contains a build.xml for ANT to build the source. The <javac> tag in each build.xml and the default.properties file indicate the required JAR files and JAVA files to compile. Before running PINOT, I built the source with ANT using its default compiler (javac) to make sure that all the required JAR files are properly created and placed.

Here's how I run PINOT in each directory after ArgoUML has been successfully built:

argouml/src/model

pinot -classpath $CLASSPATH:<your-cvs-root>/argouml/lib/log4j-1.2.6.jar
      `ls src/org/argouml/**/*.java`
You can view the raw output for this part here.

argouml/src_new

pinot -classpath $CLASSPATH
                 :<your-cvs-root>/argouml/build/log4j.jar
                 :<your-cvs-root>/argouml/build/argouml-model.jar
                 :<your-cvs-root>/argouml/lib/gef-0.11.3M1.jar
                 :<your-cvs-root>/argouml/lib/swidgets-0.1.1.jar
                 :<your-cvs-root>/argouml/lib/toolbar-1.1.1.jar
                 :<your-cvs-root>/argouml/lib/antlrall-2.7.2.jar
                 :<your-cvs-root>/argouml/lib/ocl-argo-1.1.jar 
      `cat files1346359594`
files1346359594 contains all the JAVA files that should compiled in this directory. Somehow it was created during the ANT build.

You can view the raw output for this part here.

Please refer to ArgoUML Javadocs for more information regarding the source (look under Documentation).

Discussions

Notes

PINOT only runs correctly if the analyzed source code is able to be compiled with Jikes. It would be nice to have a copy of Jikes-1.22-1 available. You can change the default compiler for ANT by specifying the global build.compiler property to jikes (see ANT manual for details).

back to PINOT