I'm currently writing up my PhD thesis. I spent a significant fraction of my PhD cleaning up and extending existing scientific code, applying software engineering best practices which were previously not used, and would like to write about this in my thesis. Rather than simply saying "I added unit tests", I want to be able to write something like this:
J. Doe invented unit tests in 1975$^{[23]}$. A recent study by Bloggs et al$^{[24]}$ showed that unit tests reduce the incidence of software errors by 73%... 234 separate unit tests were added to the code base, managed by the xUnit framework created by Timpkins et al$^{[25]}$
I'm looking for citable academic references (preferably articles in peer-reviewed journals where I can get DOIs, BibTeX etc) to widely accepted software engineering best practices, specifically:
- unit tests
- version control
- modularisation / separation of concerns
- performance profiling / optimisation based on profiling information
- bug/issue tracking
I'm looking for information both about the initial invention and on subsequent evaluations of effectiveness. If there's a review article that lists all of this stuff in one place then so much the better.