Theory-oriented software engineering

Klaas Jan Stol, Brian Fitzgerald

Research output: Contribution to journalArticlepeer-review

Abstract

There has been a growing interest in the role of theory within Software Engineering (SE) research. For several decades, researchers within the SE research community have argued that, to become a 'real' engineering science, SE needs to develop stronger theoretical foundations. However, so far, the role of theory is neither fully appreciated nor well understood in SE research. Without a good common understanding of what theory is, what it constitutes in SE research, and the various roles it can play in SE research, it is difficult to appreciate how theory building can help to strengthen SE research. In this paper we discuss the importance of theory and conceptualization, and review the key components that comprise a theory. We then present the Research Path Schema (RPS), which is an adaptation of an analytical framework from the social sciences. The RPS defines a research study as consisting of three components: some phenomenon, system or substance that a researcher is interested in; some technique or method to study that substance; and some form of conceptualization or theory that provides an explanation for, or abstraction of the observations made in a study. Different research studies have a different archetypical 'architecture,' depending on the selection of these three components. Consequently, the role of the conceptualization or theory will be different for each archetypical study design, or selected research path. We conclude this paper by outlining a number of implications for future SE research, and argue for a Theory-Oriented Software Engineering research perspective, which can complement the recent focus on Evidence Based Software Engineering.

Original languageEnglish
Pages (from-to)79-98
Number of pages20
JournalScience of Computer Programming
Volume101
DOIs
Publication statusPublished - 1 Apr 2015

Keywords

  • Empirical research
  • Software engineering research
  • Theory building
  • Theory fragment
  • Theory-oriented software engineering

Fingerprint

Dive into the research topics of 'Theory-oriented software engineering'. Together they form a unique fingerprint.

Cite this