posted on 2013-11-13, 09:41authored byPontus Johnson, Paul Ralph, Michael Goedicke, Pan-Wei Ng, Klaas-Jan Stol, Kari Smolander, Iaakov Exman, Dewayne E Perry
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.