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 Description | Tool with Sensor for this SDT |
|---|---|---|
| Activity | Collects information on the files edited using this tool and other editing actions. | Emacs, JBuilder, Eclipse, Vim, Visual Studio, Excel, PowerPoint, Word, FrontPage |
| Buffer Transition | Collects information regarding the sequence of buffers visited using this editor. | Emacs, Eclipse |
| ReviewActivity | Collects information regarding files reviewed during Code Review. | Eclipse (with Jupiter plugin) |
| ReviewIssue | Collects information regarding the issues generated during Code Review. | Eclipse (with Jupiter plugin) |
| FileMetric | Collects information regarding the size or structural characteristics of a file. | CCCC, LOCC |
| Dependency | Collects information regarding the dependency between classes or packages. | Dependency Finder |
| Build | Collects information regarding the build invocations and results. | Ant |
| CLI | Collects information regarding command line invocations. | Unix |
| UnitTest | Collects information regarding unit test invocations and results. | JUnit |
| Coverage | Collects information regarding test coverage. | JBlanket |
| Commit | Collects information regarding the commit of a file to a configuration management system. | CVS |
| Issue | Collects 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.