The Tarpit - A general theory of software engineering
2016 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 70, 181-203 p.Article in journal (Refereed) PublishedText
Context: Recent 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. Objective: The 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. Method: An 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. Results: The 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. Conclusion: The 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.
Place, publisher, year, edition, pages
Elsevier, 2016. Vol. 70, 181-203 p.
Software engineering, Theory, Languages and automata, Cognitive architecture, Problem solving, Organization structure
Computer and Information Science
IdentifiersURN: urn:nbn:se:kth:diva-181342DOI: 10.1016/j.infsof.2015.06.001ISI: 000367697600014ScopusID: 2-s2.0-84949534567OAI: oai:DiVA.org:kth-181342DiVA: diva2:901005
QC 201602052016-02-052016-02-012016-02-05Bibliographically approved