Hello! I'm a

Who am I?

I'm a professor at DCC/UFMG, responsible for lecturing Software Engineering and Software Development courses.

Also, I'm a member of the Applied Software Engineering Research Group (aSERG), where we conduct empirical research in software engineering.

My research topics cover software maintenance and evolution, human aspects of software engineering, mining software repositories, and empirical software engineering. Currently, I am investigating novel techniques to improve the productivity of software development activities.

Feel free to contact me at any time!

Academic

Important note: The copyrights for the following papers belong to the publishers. Papers may be downloaded for personal or research purposes only.

Publications

Detecting Code Smells using ChatGPT: Initial Insights
Luciana Lourdes Silva, Janio Silva, João Eduardo Montandon, Marco Túlio Valente International Symposium on Empirical Software Engineering and Measurement - Emerging Results, Vision and Reflection (ESEIW-ERVR). 2024.
Unboxing Default Argument Breaking Changes in Scikit Learn
João Eduardo Montandon, Luciana Lourdes Silva, Cristiano Politowski, Ghizlane El Boussaidi and Marco Tulio Valente 23rd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM). 2023.
TechSpaces: Identifying and Clustering Popular Programming Technologies
Guilherme Miranda, João Eduardo Montandon, Marco Túlio Valente. 16th Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS). 2022.
On the Documentation of Self-Admitted Technical Debt in Issues
Laerte Xavier, Joao Eduardo Montandon, Fabio Ferreira, Rodrigo Brito, Marco Tulio Valente. Empirical Software Engineering. 2022.
Mining the Technical Skills of Open Source Developers
João Eduardo Montandon, Marco Túlio Valente. Thesis and Dissertations Contest (CTD), Brazilian Computer Society (SBC). 2022.
Comments or Issues: Where to Document Technical Debt?
Laerte Xavier, João Eduardo Montandon, Marco Tulio Valente. IEEE Software. 2022.
Video Game Project Management Anti-patterns
Gabriel Ullmann, Cristiano Politowski, Fábio Petrillo, Yann-Gaël Guéhéneuc, João Eduardo Montandon. Workshop on Games and Software Engineering (GAS), International Conference on Software Engineering. 2022.
What skills do IT companies look for in new developers? A study with Stack Overflow jobs
João Eduardo Montandon, Cristiano Politowski, Luciana Lourdes Silva, Marco Túlio Valente, Fábio Petrillo, Yann-Gaël Guéhéneuc. Information and Software Technology (IST). 2021.
Mining the Technical Roles of GitHub Users
João Eduardo Montandon, Marco Tulio Valente, Luciana Lourdes Silva Information and Software Technology (IST). 2021.
Are Game Engines Software Frameworks? A three-perspective study
Cristiano Politowski, Fábio Petrillo, João Eduardo Montandon, Marco Tulio Valente, Yann-Gaël Guéhéneuc. Journal of Systems and Software (JSS). 2021.
Identifying Experts in Software Libraries and Frameworks among GitHub Users
João Eduardo Montandon, Luciana Lourdes Silva, Marco Tulio Valente 16th International Conference on Mining Software Repositories (MSR). 2019.
Resultados da Primeira Rede de Sensores de Auscultação de Barragens Sem Fio, Autonômica e de Baixo Custo da Cemig GT
Cunha, A. B. ; Gontijo, A. F. ; Braga, A. R. ; Montandon, J. E. ; Lima, D. P. ; Brandão, D. A. L. ; Maciel, P. H. A. ; Pinto, V. M. M. ; Melo, A. V. ; Caliman, E. H. ; Andrade, J. S. IX Congresso de Inovação Tecnológica em Energia Elétrica. 2017.
APIMiner 2.0: Uma Plataforma para Recomendação de Exemplos de Uso de APIs Baseados em Padrões de Uso
Hudson Silva Borges, João Eduardo Montandon, Marco Tulio Valente, Heitor Costa, Daniel Felix IIV Congresso Brasileiro de Software: Teoria e Prática (Sessão de Ferramentas). 2013.
Documenting APIs with Examples: Lessons Learned with the APIMiner Platform
João Eduardo Montandon, Hudson Borges, Daniel Felix, Marco Tulio Valente 20th Working Conference on Reverse Engineering (WCRE), Practice Track. 2013.
APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs
João Eduardo Montandon, Marco Tulio Valente III Congresso Brasileiro de Software: Teoria e Prática, sessão de ferramentas. 2012.
Static Correspondence and Correlation between Field Defects and Warnings Reported by a Bug Finding Tool
César F. M. Couto, João Eduardo Montandon, Christopher Silva, Marco Tulio Valente Software Quality Journal (SQJ). 2012.
Avaliação da Relevância dos Warnings Reportados por Ferramentas de Análise Estática
João Eduardo Montandon, Marco Tulio Valente XXX Concurso de Trabalhos de Iniciação Científica (CTIC). 2011.
Study on the Relevance of the Warnings Reported by Java Bug-Finding Tools
João Eduardo Montandon, César F. M. Couto, Silvio José de Souza, Marco Tulio Valente IET Software. 2011.
Um Estudo sobre a Correlação entre Defeitos de Campo e Warnings Reportados por uma Ferramenta de Análise Estática
João Eduardo Montandon, César F. M. Couto, Silvio José de Souza, Marco Tulio Valente IX Simpósio Brasileiro de Qualidade de Software (SBQS). 2010.
Os Defeitos Detectados pela Ferramenta de Análise Estática FindBugs são Relevantes?
João Eduardo Montandon, Silvio José de Souza, Marco Tulio Valente IX Simpósio Brasileiro de Qualidade de Software (SBQS). 2010.
Uma Meta-Ferramenta para Detecção de Defeitos
Silvio José de Souza, João Eduardo Montandon, Marco Túlio Valente VII Workshop de Manutenção de Software Moderna (WMSM). 2010.

Thesis & Dissertation

Mining the Technical Skills of Open Source Developers
João Eduardo Montandon, PhD. thesis, Computer Science Department, Federal University of Minas Gerais (DCC/UFMG). 2021.
Documenting Application Programming Intefaces with Source Code Examples
João Eduardo Montandon, Msc. dissertation, Computer Science Department, Federal University of Minas Gerais (DCC/UFMG). 2013.

Honors & Awards

2022

2nd Best Thesis
Thesis and Dissertations Contest for Software Engineering (CTD-ES)

2022

Best Thesis Finalist
XXXV Thesis and Dissertations Contest (CTD)

2018

Honored professor
Software Development '18 graduating class

2016

Honored professor
Information Technology '16 graduating class

2011

Best Undergrad Research Finalist
XXX Undergraduation Research Contest (CTIC)

2010

Best paper
Best paper at SBQS'10

Teaching

Here you can find basic info about the courses I am responsible for. Classes are in portuguese, but you can find a small description about them below.

Linguagens de Programação Programming Languages

  • Functional Programming
  • Object Oriented Programming
  • Logical Programming

In this course, I provide in-depth instruction on the major programming languages paradigms, with a emphasis on Functional Programming concepts.

Offered at: 2024/02

Programação e Desenvolvimento de Software II Software Programming and Development II

  • Object Oriented Programming
  • C++
  • Software Development Practices
  • Software Testing
  • Version Control

In this course, I teach more advanced software development techniques, focused on Object-Oriented Programming (OOP) principles.

Offered at: 2024/02

Programação Orientada a Objetos Object Oriented Programming

  • Object Oriented Programming
  • Java

In this course, I provide in-depth instruction on Object-Oriented Programming (OOP) principles, with a strong emphasis on the Java programming language.

Offered at: 2024—2021

Desenvolvimento de Aplicativos Android Mobile App Development: Android

  • Mobile
  • Android
  • Java

In this course the students learn the fundamental concepts needed for developing mobile applications on the Android platform. Also, students are encouraged to look for real-world problems and how a mobile app solution can help solving them.

Offered at: 2024—2021

Desenvolvimento de Aplicações Web Web Applications Development

  • Frontend
  • Backend
  • Database
  • REST

The objective of this course is to teach the fundamental principles in web application development. The idea is to expose the students to concepts, techniques, technologies, and platforms necessary to create such applications from scratch.

Offered at: 2024—2021, 2018—2014

Técnicas de Desenvolvimento de Software Software Development Techniques

  • Software Engineering
  • Git
  • Software Architecture
  • TDD

In this course, I teach software development techniques we frequently use when implemeting computer programs. We assume the students are aware of the main software design concepts, so we can focus on the techniques to effectively implement and maintain any kind of software.

Offered at: 2024—2021

Introdução a Programação Introduction to Programming

  • algorithms
  • programming
  • C

This course starts by introducing problem-solving concepts and how to use algorithms to solve them. Later, we start by practicing these concepts in a real programming language (C).

Offered at: 2018—2014

Get in Touch

Universidade Federal de Minas Gerais
Instituto de Ciências Exatas - Room 4324
Av. Antonio Carlos, 6627 - Pampulha
31270-010 - Belo Horizonte - MG - Brazil
Phone: 55-31-3409-7543
E-mail: joaooiio@dcc.ufmg.br