The Broken Windows Theory in Software Engineering: An experiment on technical debt propagation

Publicerad

Typ

Examensarbete för masterexamen

Program

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

Context: The term technical debt (TD) describes the aggregation of sub-optimal solutions that serve to impede the evolution and maintenance of a system. Some claim that the broken windows theory (BWT), a concept borrowed from criminology, applies to software development projects. The theory states that the presence of indications of previous crime (such as a broken window) will increase the likelihood of further criminal activity; TD could be considered the broken windows of software systems. Objective: To empirically investigate the causal relationship between the TD density of a system and the propensity of developers to introduce new TD during the extension of that system. Primarily in situations where there are no significant hurdles to implementing a low TD solution (i.e., when there is no TD that practically forces the implementation of new TD). Method: The study used a mixed-methods strategy consisting of a controlled experiment and accompanying follow-up interviews. The experiment had a total of 29 developers of varying experience levels complete small system extension tasks in systems with high or low TD density; most subjects completed one of each for a total of 51 solution submissions. The solutions were scanned for TD, both manually and using SonarQube. A subset of subjects volunteered to participate in interviews, the results of which were evaluated using thematic analysis. Result: Bayesian data analysis revealed significant effects of TD level on the subjects’ tendency to reimplement (rather than reuse) functionality, choose nondescriptive variable names, and introduce other code smells identified by SonarQube, all with at least 95% certainty. Additionally, subjects appeared to be, at least partially, aware of when they had introduced TD. The results of the thematic analysis were in line with the findings of the experiment. Conclusion: Three separate significant results along with a validating qualitative result combine to form substantial evidence of the BWTs applicability to software engineering contexts.

Beskrivning

Ämne/nyckelord

Software engineering, broken windows theory, technical debt, software, spread, contagious, controlled experiment, Bayesian data analysis, thematic analysis

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced