15 Empirical research in software engineering


A. Törn - Contents - - Previous chapter - Next chapter - - Previous page - Next page

15.3 Investigating resources

There are very few studies of resources, in part because human characteristics are difficult to control. Often student programmers or artificial tasks in laboratory settings are used, and the applicability to real situations is not clear.

Keeping diaries is one way of collecting data but direct observations enable the researchers to note and understand working patterns, like unplanned interpersonal interactions, that otherwiese would go unnoticed.

15.4 Investigating processes

The Cleanroom method incorporates statistical testing which means that the test data is chosen in accordance with the frequences of input data in real use. It also calls for the use of formal verification techniques prior to any testing, but it has been found that this impractical technique could well be substituted by rigorous inspections instead. Exceptionally low fault densities (eg. 2.7 faults per KLOC) have been found in studies.

Object orientation is now popular and studies about its benefits to building software has been undertaken, see Example 15.11. It is concluded that there was serious problems with this study. Although these experiments involve empirical evaluation and data in real situations, the experiemntal design is questionable, in that effects of OO, Ada, and reuse are confounded.

There are many studies that investigate the effects of inspections on code quality, for one see Example 15.12. The problem here is that those modules that were selected for inspection were difficult modules, which of course is a rational choice. However, the study could not thus answer the question of efficiency of inspections.