Article ID Journal Published Year Pages File Type
551650 Information and Software Technology 2016 23 Pages PDF
Abstract

ContextRecent years have seen an increasing interest in general theories of software engineering. As in other academic fields, these theories aim to explain and predict the key phenomena of the discipline.ObjectiveThe present article proposes a general theory of software engineering that we have labeled the Tarpit theory, in reference to the 1982 epigram by Alan Perlis.MethodAn integrative theory development approach was employed to develop the Tarpit theory from four underlying theoretical fields: (i) languages and automata, (ii) cognitive architecture, (iii) problem solving, and (iv) organization structure. Its applicability was explored in three test cases.ResultsThe theory demonstrates an explanatory and predictive potential for a diverse set of software engineering phenomena. It demonstrates a capability of explaining Brooks’s law, of making predictions about domain-specific languages, and of evaluating the pros and cons of the practice of continuous integration.ConclusionThe presented theory appears capable of explaining and predicting a wide range of software engineering phenomena. Further refinement and application of the theory remains as future work.

Related Topics
Physical Sciences and Engineering Computer Science Human-Computer Interaction
Authors
, ,