Report on the Second SEMAT Workshop on General Theory of Software Engineering (GTSE 2013)

Software engineering needs a general theory, i.e., a theory that applies across the field and unifies existing empirical and theoretical work. General theories are common in other domains, such as physics. While many software engineering theories exist, no general theory of software engineering is evident. Consequently, this report reviews the emerging consensus on a general theory in software engineering from the Second SEMAT General Theory of Software Engineering workshop co-located with the International Conference on Software Engineering in 2013. Participants agreed that a general theory is possible and needed, should explain and predict software engineering phenomena at multiple levels, including social processes and technical artifacts, should synthesize existing theories from software engineering and reference disciplines, should be developed iteratively, should avoid common misconceptions and atheoretical concepts, and should respect the complexity of software engineering phenomena. However, several disputes remain, including concerns regarding ontology, epistemology, level of formality, and how exactly to proceed with formulating a general theory.

[1]  Dewayne E. Perry A theoretical foundation for software engineering: A model calculus , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[2]  Shihong Huang,et al.  On the value of essence to software engineering research: A preliminary study , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[3]  Paul Ralph,et al.  The Two Paradigms of Software Design , 2013, ArXiv.

[4]  Paul Ralph,et al.  Report on the first SEMAT workshop on general theory of software engineering (GTSE 2012) , 2013, SOEN.

[5]  Computer Staff,et al.  International Conference on Software Engineering , 1991 .

[6]  Ivar Jacobson,et al.  Where's the Theory for Software Engineering? , 2012, IEEE Software.

[7]  Ivar Jacobson,et al.  2nd SEMAT workshop on a general theory of software engineering (GTSE 2013) , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[8]  Mathias Ekstedt,et al.  In Search of a Unified Theory of Software Engineering , 2007, International Conference on Software Engineering Advances (ICSEA 2007).

[9]  Mathias Ekstedt,et al.  An empirical approach to a general theory of software (engineering) , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[10]  Iaakov Exman,et al.  Speeding-up software engineering's escape from its pre-paradigmatic stage , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[11]  Don S. Batory Why (meta-)theories of automated software design are essential: A personal perspective , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[12]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[13]  Tero Päivärinta,et al.  Forming theories of practices for software engineering , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[14]  Bahar Celikkol Erbas,et al.  On a theory of software engineering a proposal based on transaction cost economics , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[15]  Ivar Jacobson,et al.  The Essence of Software Engineering: Applying the SEMAT Kernel , 2013 .

[16]  Philippe Kruchten,et al.  Generating a useful theory of software engineering , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[17]  Paul Ralph,et al.  Possible core theories for software engineering , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[18]  Brian Fitzgerald,et al.  Uncovering theories in software engineering , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).