1.4. Sensor Data Types

A "sensor data type" represents the structure of a single kind of software product or process measurement. For example, the "UnitTest" sensor data type represents the outcome of invoking a single unit test. This data typically includes the time that the unit test was invoked, the class name of the unit test code, and the results of the invocation (pass, fail, exception). The "Commit" sensor data type represents the occurrence of committing a file to a configuration management repository, and thus has very different fields associated with it that are appropriate to this kind of event. A given sensor can collect data for one or more sensor data types.

The following table presents a list of sensor data types we have developed, a description of the data they collect, and the tools for which we have developed sensors to collect this information:

Table 1.2. Hackystat Sensor Data Types and associated Sensors

Sensor Data Type (SDT)SDT DescriptionTool with Sensor for this SDT
ActivityCollects information on the files edited using this tool and other editing actions. Emacs, JBuilder, Eclipse, Vim, Visual Studio, Excel, PowerPoint, Word, FrontPage
Buffer TransitionCollects information regarding the sequence of buffers visited using this editor.Emacs, Eclipse
ReviewActivityCollects information regarding files reviewed during Code Review.Eclipse (with Jupiter plugin)
ReviewIssueCollects information regarding the issues generated during Code Review.Eclipse (with Jupiter plugin)
FileMetricCollects information regarding the size or structural characteristics of a file.CCCC, LOCC
DependencyCollects information regarding the dependency between classes or packages.Dependency Finder
BuildCollects information regarding the build invocations and results.Ant
CLICollects information regarding command line invocations.Unix
UnitTestCollects information regarding unit test invocations and results.JUnit
CoverageCollects information regarding test coverage.JBlanket
CommitCollects information regarding the commit of a file to a configuration management system.CVS
IssueCollects information regarding an issue posted to an issue management system.Jira

Chapter 25, Sensor Data Types documents the set of sensor data types in more detail.