Intro to Empirical Software Engineering: What We Know We Don't Know
summary
Empirical work tests common claims with data: a controlled study of identifier names (≈100 participants) finds abbreviations are not harder to debug, language-quality correlations disappear after replication due to commit labeling errors, and code smells correlate with bugs but fixing smells doesn’t remove them. Practical findings include 60–80% of bugs found by code review, 90% of distributed-system crashes from uncaught exceptions or configuration errors, and TDD adds ~20% testing time with no clear quality advantage; sleep, stress and org structure matter a lot.
AI-written summary · about
chapters (19)
- 0:00Intro
- 3:03Why ESC
- 7:15The Evidence
- 8:39Fixing Faults
- 13:00Qualitative Studies
- 15:23Code Smells
- 21:40Finding Bugs
- 24:40TestDriven Development
- 26:30Other Techniques
- 27:15Code Review
- 29:30Sleep
- 31:50Knowledge Work
- 32:20High Quality
- 32:50Other Fields
- 33:20Books
- 33:50Other Books
- 35:00ACM
- 35:20SCIHub
- 35:50Conclusion
related talks
44mBehavioral Software Engineering
55mEngineering for Software
41mComputer Science, Software Engineering, and the Scientific Method
42mWhat our Brains can Teach us About Software Engineering
45mTaking Back "Software Engineering"
57mEngineering for Software
27m'The Art of Software Development'
32mSoftware Craftsmanship
