Wednesday, February 8, 2012

Starting a New Book: Foundations of Empirical Software Engineering: The Legacy of Victor R Basili eds Boehm, Rombach, Zelkowitz

I expect this book will represent a form of manifesto for the research group I hope to work with during my PhD studies. The basic outline of the study of Empirical Software Engineering is laid out in a paper Basili wrote in 1996 and is the first one presented in the book. Here is a key point:

"First we define some terms for discussing experimentation. A hypothesis is a tentative assumption made in order to draw out and test its logical or empirical consequence. We define study broadly, as an act or operation for the purpose of discovering something unknown or of testing a hypothesis. We will include various forms of experimental, empirical and qualitative studies under this heading. We will use the term experiment to mean a study undertaken in which the researcher has control over some of the conditions in which the study takes place and control over (some aspects of the independent variables being studies. We will use the term controlled experiment to mean an experiment in which the subjects are randomly assigned to experimental conditions, the researcher manipulates an independent variable, and the subjects in different experimental conditions are treated similarly with regard to all variables except the independent variable." (p4)

Of course he is describing basic empirical study that is no different than any other scientific discipline. What is remarkable is how remarkable that it is directed at software engineering, a field that traditionally was led by ideas that sounded reasonable but were never subjected to any form of empirical study.

1 comment:

  1. From one monad to another, Basili is just reframing Gottfried Leibniz. Put on Candide (the Sondheim enhanced version of course) and read up. It’s the best of all possible models. BTW, Leibnitz created calculus, and binary arithmetic based on bits and laid the foundation for modern computing.

    ReplyDelete