
doi: 10.1007/bfb0095023
This presentation offers a view of software development based upon building knowledge through model building, experimentation, and learning. It treats the study of software engineering as a laboratory science. To this end, various abstraction techniques, experimental designs, and learning methods must evolve to support this paradigm. To support experimental software engineering research, we need to provide a framework for building relevant practical Software Engineering knowledge that will increase the effectiveness of individual experiments. To support the practitioner, we need to provide a better basis for making judgements about selecting and tailoring processes and organizations integrate their experiences with processes. An example of knowledge evolution will be given: the evolution of software reading from early reading versus testing experiments to the development of focused tailored reading techniques based upon feedback from experimentation and application in practice. The example will be used to demonstrate a mechanism for organizing sets of related studies so that experiments can be viewed as part of common families of studies, rather than isolated events. Common families of studies can contribute to higher level hypotheses that no individual experiment could achieve. Then the replication of experiments within a family of studies can act as the cornerstone for building knowledge in an incremental manner. A mechanism is suggested that motivates, records, and integrates individual experiments within a family for analysis by the community at large. The example studies are used to demonstrate that: (1) techniques that are procedurally defined, document and notation specific, and goal driven can be effectively designed and studied, (2) a procedural approach to a software engineering task can be more effective than a less procedural one under certain conditions (e.g., depends on experience), and (3) a procedural approach to reading based upon specific goals will find defects related to those goals, so reading can tailored to the environment.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
