Chapter 12 Building Theories in Software Engineering

In mature sciences, building theories is the principal method of acquiring and accumulating knowledge that may be used in a wide range of settings. In software engineering, there is relatively little focus on theories. In particular, there is little use and development of empirically-based theories. We propose, and illustrate with examples, an initial framework for describing software engineering theories, and give advice on how to start proposing, testing, modifying and using theories to support both research and practise in software engineering.

[1]  Audris Mockus,et al.  Formulation and preliminary test of an empirical theory of coordination in software engineering , 2003, ESEC/FSE-11.

[2]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[3]  Charles E. Lindblom,et al.  Alternatives to Validity , 1987 .

[4]  Alan R. Hevner,et al.  The Information Systems Research Cycle , 2003, Computer.

[5]  A. Ehrenberg,et al.  The Design of Replicated Studies , 1993 .

[6]  Kishore Sengupta,et al.  Software Project Control: An Experimental Investigation of Judgment with Fallible Information , 1993, IEEE Trans. Software Eng..

[7]  Magne Jørgensen,et al.  Generalization and theory-building in software engineering research , 2004, ICSE 2004.

[8]  Mario Bunge,et al.  Scientific Research II , 1967 .

[9]  R. Franck The Explanatory Power of Models , 2002 .

[10]  Alexander Rosenberg,et al.  Philosophy of Science: A Contemporary Introduction , 2019 .

[11]  C. Judd,et al.  Pragmatism. A new name for some old ways of thinking. , 1908 .

[12]  B. Haig An abductive theory of scientific method. , 2005, Psychological methods.

[13]  Chris Sauer,et al.  Technical Reviews: A Behaviorally Motivated Program of Research , 2022 .

[14]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[15]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

[16]  Siw Elisabeth Hove,et al.  The impact of UML documentation on software maintenance: an experimental evaluation , 2006, IEEE Transactions on Software Engineering.

[17]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[18]  D. Ross Jeffery,et al.  An extension of the behavioral theory of group performance in software development technical reviews , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[19]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[20]  J. Dewey,et al.  The Middle Works, 1899-1924 , 1976 .

[21]  I. Mazin,et al.  Theory , 1934 .

[22]  Bas C. van Fraassen,et al.  The Scientific Image , 1980 .

[23]  Samuel B. Bacharach,et al.  Organizational Theories: Some Criteria for Evaluation , 1989 .

[24]  Shirley Gregor,et al.  The Nature of Theory in Information Systems , 2006, MIS Q..

[25]  Bente Anda,et al.  A case study on the application of UML in legacy development , 2006, ISESE '06.

[26]  S. Lynham The General Method of Theory-Building Research in Applied Disciplines , 2002 .

[27]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[28]  Richard W. Scamell,et al.  An experimental investigation of the impact of individual, program, and organizational characteristics on software maintenance effort , 2000, J. Syst. Softw..

[29]  Walter F. Tichy,et al.  Should Computer Scientists Experiment More? , 1998, Computer.

[30]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[31]  Tore Dybå,et al.  A Systematic Review of Theory Use in Software Engineering Experiments , 2007, IEEE Transactions on Software Engineering.

[32]  Paul A. Swatman,et al.  Structured-case: a methodological framework for building theory in information systems research , 2000, ECIS.

[33]  Françoise Détienne,et al.  Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase , 2002, Empirical Software Engineering.

[34]  Allen S. Lee Editor's comments: MIS quarterly's editorial policies and practices , 2001 .

[35]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[36]  W. Salmon Four decades of scientific explanation , 1989 .

[37]  D. A. Kenny,et al.  The moderator-mediator variable distinction in social psychological research: conceptual, strategic, and statistical considerations. , 1986, Journal of personality and social psychology.

[38]  P. Thagard,et al.  Modelling Conceptual Revolutions , 1996, Dialogue.

[39]  W. Kintsch,et al.  Strategies of discourse comprehension , 1986 .

[40]  R. Feynman QED: The Strange Theory of Light and Matter , 1985 .

[41]  Gary James Jason,et al.  The Logic of Scientific Discovery , 1988 .

[42]  R. Merton Social Theory and Social Structure , 1958 .

[43]  Daniel M. Russell,et al.  Model-driven development within a legacy system: an industry experience report , 2005, 2005 Australian Software Engineering Conference.

[44]  Bente Anda,et al.  Experiences from introducing UML-based development in a large safety-critical project , 2006, Empirical Software Engineering.

[45]  Peter Godfrey-Smith,et al.  Pragmatism: Philosophical Aspects , 2001 .

[46]  Kurt Lewin,et al.  The Research Center for Group Dynamics at Massachusetts Institute of Technology. , 1945 .

[47]  J. Lucas,et al.  Theory-Testing, Generalization, and the Problem of External Validity* , 2003 .

[48]  Amela Karahasanovic,et al.  A survey of controlled experiments in software engineering , 2005, IEEE Transactions on Software Engineering.

[49]  David L. Sandborg,et al.  Mathematical Explanation and the Theory of Why-Questions , 1998, The British Journal for the Philosophy of Science.

[50]  Roger Penrose,et al.  THE NATURE OF SPACE AND TIME , 1994 .

[51]  Barry Markovsky,et al.  The Structure of Theories , 1994 .