Back to Resources

Software Engineering Resources

From theoretical foundations to practice

Theoretical Resources

No Silver Bullet: Essence and Accidents of Software Engineering
Fred Brooks, 1986 Intermediate
5.0
Brooks argues that there is no single development that will provide a productivity breakthrough of even one order of magnitude in software engineering.
Download PDF
On the Criteria To Be Used in Decomposing Systems into Modules
David Parnas, 1972 Advanced
5.0
This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time.
Download PDF

Practical Resources

The Art of Problem-Solving in Software Engineering: How to Make MySQL Better
Bin Wang, 2024 Beginner
5.0
This book uses MySQL challenges as case studies to explore problem analysis and resolution strategies. Readers will gain a deeper appreciation for logical reasoning, data structures, algorithms, and more through practical examples and insightful discussions.
View Github
Can we trust profiling results? Understanding and fixing the inaccuracy in modern profilers
Mytkowicz et al., 2019 Beginner
5.0
A study on the inaccuracies in modern profilers and how to address them.
Download PDF
Understanding and Detecting Real-World Performance Bugs
Jin et al., 2012 Intermediate
5.0
This paper conducts a comprehensive study of 109 real-world performance bugs from five representative software suites (Apache, Chrome, GCC, Mozilla, and MySQL).
Download PDF
Learning from Mistakes - A Comprehensive Study on Real World Concurrency Bug Characteristics
Lu et al., 2008 Intermediate
5.0
This study analyzes real-world concurrency bugs from four representative applications to understand their characteristics and implications for concurrent programming models and bug detection techniques.
Download PDF
Evaluating the accuracy of Java profilers
Mytkowicz et al., 2010 Intermediate
5.0
A study on the accuracy of Java profilers and their limitations.
Download PDF