Professor titular do Departamento de Ciência da Computação e coordenador do Laboratório de Engenharia de Software (LabSoft). Foi pesquisador visitante em Carnegie Mellon University e University of Ottawa. Pesquisa principalmente qualidade de software e reutilização de software, além de inteligência artificial para engenharia de software.