In Debunking Linus’s Law with Science I pointed you to a presentation by Felienne Hermans outlining why the adage:
given enough eyeballs, all bugs are shallow
is not only false but the exact opposite is in fact true. The more people who participate in development of software, the more bugs it will contain.
Remarkably, I have found another instance of the scientific method being applied to computer science.
The abstract for On the use of software design models in software development practice: an empirical investigation by Tony Gorschek, Ewan Tempero, and, Lefteris Angelis, reads as follows:
Research into software design models in general, and into the UML in particular, focuses on answering the question how design models are used, completely ignoring the question if they are used. There is an assumption in the literature that the UML is the de facto standard, and that use of design models has had a profound and substantial effect on how software is designed by virtue of models giving the ability to do model-checking, code generation, or automated test generation. However for this assumption to be true, there has to be significant use of design models in practice by developers.
This paper presents the results of a survey summarizing the answers of 3785 developers answering the simple question on the extent to which design models are used before coding. We relate their use of models with (i) total years of programming experience, (ii) open or closed development, (iii) educational level, (iv) programming language used, and (v) development type.
The answer to our question was that design models are not used very extensively in industry, and where they are used, the use is informal and without tool support, and the notation is often not UML. The use of models decreased with an increase in experience and increased with higher level of qualification. Overall we found that models are used primarily as a communication and collaboration mechanism where there is a need to solve problems and/or get a joint understanding of the overall design in a group. We also conclude that models are seldom updated after initially created and are usually drawn on a whiteboard or on paper.
I plan on citing this paper the next time someone claims that UML diagrams will be useful for readers of a standard.
UML has been found useful in many design contexts, so much so that is has become ubiquitous in its field.
At least the second half of it, “so much so that is has become ubiquitous in its field,” appears to be false.
Do you know of any other uses of science with regard to computer science?
I first saw this in a twee by Erik Meijer