1.8. Using sensors to collect software product data

Hackystat provides sensors for a variety of tools that compute various forms of software product attributes. For example, the sensor for SCLC enables Hackystat to collect size data for around 30 different languages, including C, C++, C#, Fortran, Java, JavaScript, Lisp, Perl, and Python. Sensors for testing tools such as JUnit and Emma provide data on unit testing outcomes and coverage. Sensors for static analysis tools such as PMD and FindBugs support automated quality assurance and defect discovery. The listing below illustrates the use of an Ant script to collect Java and HTML size data on a sample software system and send it to Hackystat.

Example 1.1. Collecting product (size) data

C:\svn-csdl\StackyHack>ant -f sclc.build.xml
Buildfile: sclc.build.xml

compile:

sclc.tool:
     [exec]  Lines  Blank  Cmnts   NCSL TPtoks
     [exec] ====== ====== ====== ====== ====== ============================================
     [exec]     37      5     21     11     62 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\ClearStack.java  (Java)
     [exec]     18      2     10      6     31 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\EmptyStackException.java  (Java)
     [exec]      6      1      0      5     37 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\overview.html  (HTML)
     [exec]      7      3      0      4     26 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\package.html  (HTML)
     [exec]    114     13     53     48    293 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\Stack.java  (Java)
     [exec]     41      4     14     23    190 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\TestClearStack.java  (Java)
     [exec]     52      7     17     28    198 C:\svn-csdl\StackyHack\src\edu\hawaii\stack\TestStack.java  (Java)
     [exec]     13      4      0      9     63 ----- HTML -----  (2 files)
     [exec]    262     31    115    116    774 ----- Java -----  (5 files)
     [exec]    275     35    115    125    837 ***** TOTAL *****  (7 files)


sclc.sensor:
[hacky-xmldata] Processing file: C:\svn-csdl\StackyHack\build\sclc\size.xml
[hacky-xmldata] Hackystat data from 7 entries sent to http://hackystat.ics.hawaii.edu/

BUILD SUCCESSFUL
Total time: 4 seconds