Software Metrics in SandMark

AUTHORS: Christian Collberg ( collberg@cs.arizona.edu ) Balamurgan Chirtsabesan ( balamc@cs.arizona.edu ) Tapas Ranjan Sahoo ( tapas@cs.arizona.edu )

The Sandmark statistics module has been designed to obtain various complexity measures of the target code. Such statistics information can aid the obfuscation procedures in studying and controlling the level of obfuscation. Also, it might be useful in observing the watermark code for stealth.

The basic modules deal with the various statistics part of the code, namely

Besides these code statistics modules, various software complexity metrics are also implemented. These complexity metrics cover a wide range of program complexity such as hierarchy levels, interaction between different modules, data structure complexities, control flow complexties, etc. Some of the software complexity metrics implemented are :

In addition to all these complexity measures, several other modules have been implemented. This analyzer module performs various sorting operations in application, package, class or method levels based on the complexity measure data obtained from the previous statistic modules.

Running the Statistics
To run the statistics, select the statistics option in the Sandmark's main window pane. You need to give a jar file as an input. The statistics then gives the various statistical data of all tha classes in tha application in a tabular form.