Materials & References

Materials about tools, recommended books and scientific papers to improve your programming skills

Talks Materials Academic Works How to cite? Recommended Books

Industry Talks /

# Description Date Idiom
AnaliseCodigo_AgileBrazil.pdf Presentation about code analysis practices (Agile Brazil 2021) october, 2021 Portuguese
AnaliseSaudeCodigoDRTools_ConFLOSS.pdf Presentation about code analysis practices and DR-Tools Suite (ConFLOSS - Free/Livre, Open Source Conference, 2nd Edition) august, 2021 Portuguese
AnaliseSaudeCodigoDRTools_RSJug.pdf Presentation about code analysis practices and DR-Tools Suite (RSJUG, Java User Group Community) may, 2021 Portuguese
AnaliseCodigo_TrilhaDesignCodigoXP.pdf With Daniel Wildt, presentation about code analysis practices (The Developers Conference 2020 - Porto Alegre Edition, Code Design and Extreme Programming track) december, 2020 Portuguese
DesignCodigo_Metaforas_TrilhaDesignCodigoXP_2020.pdf With Alessandro Dias, presentation about metaphors and code design (The Developers Conference 2020 - São Paulo Edition, Code Design and Extreme Programming track) august, 2020 Portuguese
DesignCodigo_Metaforas_TrilhaDesignCodigo.pdf With Alessandro Dias, presentation about metaphors and code design (The Developers Conference 2019, Code Design and Extreme Programming track) december, 2019 Portuguese

Materials /

DR-Tools Metric and Metric Visualization
# Description Date Idiom
DR-Tools-Heuristics.pdf Metric Heuristics Analysis february, 2020 English
DR-Tools-Definition-Thresholds.pdf Metric definition and thresholds september, 2021 English
DR-Tools-Tudo.pdf drtools-metric and visualization presentation september, 2021 Portuguese
DR-Tools-Heuristicas.pdf Metric Heuristics Analysis october, 2019 Portuguese
DR-Tools Code Health
# Description Date Idiom
Readme before use Information about installation, usage modes, modules, usage scenario for code analysis, and customizations august, 2023 English
Leia antes de usar Informações sobre instalação, modos de uso, módulos, cenário de uso para análise de código e customizações august, 2023 Portuguese

Academic Works /

Title Authors Venue Date
DR-Tools: a suite of lightweight open-source tools to measure and visualize Java source code Guilherme Lacerda (Unisinos/UFRGS - Brazil), Fabio Petrillo (UQAC - Canada), and Marcelo Pimenta (UFRGS - Brazil) 36th IEEE International Conference on Software Maintenance and Evolution, Tool Demo Track (ICSME2020) september, 2020
Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations Guilherme Lacerda (Unisinos/UFRGS - Brazil), Fabio Petrillo (UQAC - Canada), Marcelo Pimenta (UFRGS - Brazil), and Yann Gaël Guéhéneuc (Concordia University - Canada) Journal of Systems and Software (JSS) may, 2020

How to cite? /

To cite DR-Tools Suite, use the following bibtex entry:
                        title={DR-Tools Suite},
                        author={Guilherme Lacerda},
                        note={available in}

Recommended Books /

Beck, K. Test-Driven Development: By Example. Addison-Wesley, 2003.
Beck, K. and Andres, C. Extreme Programming Explained: Embrace change (2nd edition), Addison-Wesley, 2004.
Beck, K. Implementation Patterns, Addison-Wesley, 2007.
Block, J. Effective Java – 2nd edition. Addison-Wesley, 2008.
Evans, E. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, 2004.
Feathers, Michael. Working effectively with Legacy Code. Prentice Hall, 2004.
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
Fowler, M. Refactoring: Improving the Design of Existing Code. Second Edition, Addison-Wesley, 2019.
Fowler, M. Domain-Specific Languages. Addison-Wesley, 2011.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
Hunt, A. and Thomas, D. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley, 1999.
Kerievsky, J. Refactoring to Patterns. Addison-Wesley, 2004.
Lanza, M. and Marinescu, R. Object-Oriented Metrics in Practice: Using Software Metrics to characterize, evaluate, and improve the Design of Object-oriented Systems. Springer Verlag, 2010.
Mancuso, S. The Software Craftsman: Professionalism, Pragmatism, Pride. Pearson, 2014.
Martin, R. C. and Martin, M. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007.
Martin, R. C. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.
Martin, R. C. The Clean Coder: A Code of Conduct for Professional Programmers. Prentice Hall, 2011.
Martin, R. C. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall, 2017.
Martin, R. C. Clean Craftsmanship: Disciplines, Standards, and Ethics. Prentice Hall, 2021.
Poppendieck, M. and Poppendieck, T. Lean Software Development: An Agile Toolkit. Addison-Wesley, 2003.
Poppendieck, M. and Poppendieck, T. Implementing Lean Software Development: From concept to cash. Addison-Wesley, 2006.
Poppendieck, M. and Poppendieck, T. Leading Lean Software Development: Results are not the point. Addison-Wesley, 2009.
Seeman, M. Code That Fits in Your Head: Heuristics for Software Engineering. Prentice Hall, 2021.
Tornhill, A. Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs. The Pragmatic Programmers, 2015.
Tornhill, A. Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis. The Pragmatic Programmers, 2018.
Visser, J. Building Maintainable Software, Java Edition: Ten Guidelines for Future-Proof Code. O'Reilly Media, 2016.
Wake, W. C. Refactoring Workbook. Addison-Wesley, 2003.