Software Engineering is the main area of my PhD thesis (more information about my thesis is available here). In my research, I often find answers in useful resources, such as the ones offered in this page. You can also check the useful tools for software that I have found helpful.


Software Engineering
by Ian Sommerville

Reference book on Software Engineering

Book link:

Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Classical book on Design Patterns

Book link:

Introduction to Algorithms
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

Comprehensive book on Algorithms

Book link:

Code Quality: The Open Source Perspective
by Diomidis Spinellis

Comprehensive book on Software Quality

Book link: