Marco Túlio de Oliveira Valente


 Professor  Adjunto


Bolsa produtividade CNPq nível   1D


Doutor, UFMG, Brasil, 2002

  mtov@dcc.ufmg.br   www
 ICEx/DCC, sala 6310, +55 (31) 3409-5586
Áreas de pesquisa

Informações resumidas do Currículo Lattes


Currículo Lattes atualizado em 04/07/2017

Formação acadêmica

Doutorado em Ciências da Computação na Universidade Federal de Minas Gerais em 2002
Mestrado em Ciências da Computação na Universidade Federal de Minas Gerais em 1995
Graduado em Informática na Universidade Federal de Viçosa em 1992

Projetos de pesquisa em andamento

2014 a AtualDynarchi: Dynamic Analysis for Software (Re-)Architecturing - Cooperação Internacional CAPES/STIC-AmSud
O objetivo deste projeto -- uma cooperação entre DCC/UFMG, INRIA Lille e DCC/UChile -- é contribuir para reduzir o gap que normalmente observamos entre a arquitetura e o comportamento dinâmico de sistemas de software. Em particular, nosso foco é em uma visão que procure associar a arquitetura de um sistema com as features que são implementadas no código fonte. Financiamento: Programa CAPES/STIC-AmSud - Edital Nº 001/2013. Processo 054/14. Valor financiado: R$ 68.478,00.
Integrantes: Marco Tulio de Oliveira Valente (coordenador), Leonardo Humberto Guimarães Silva, TERRA, RICARDO, ANQUETIL, NICOLAS, DUCASSE, STEPHANE, Alexandre Bergel.
2013 a AtualModularidade e Qualidade de Software - Programa Pesquisador Mineiro (PPM VII)
Este Projeto Pesquisador Mineiro foi solicitado para apoiar as pesquisas do Grupo de Engenharia de Software Aplicada (ASERG) do DCC/UFMG. Mais especificamente, as pesquisas atuais do grupo -- para as quais solicita-se renovação do auxílio concedido pelo Programa Pesquisador Mineiro -- estão organizadas em quatro linhas: (a) Conformidade Arquitetural, (b) Métricas, Predição e Gerenciamento de Bugs; (c) Documentação de APIs; (d) Novas Visões Modulares. Financiamento: FAPEMIG (processo CEX-PPM-00388-13). Valor financiado: R$ 24.000,00
Integrantes: Marco Tulio de Oliveira Valente (coordenador).
2013 a AtualModularidade 2.0: Modularização usando Dependências Semânticas e Evolutivas - Universal CNPq
Neste projeto, pretende-se investigar um conjunto de questões relativas à decomposição de um sistema em módulos. Mais precisamente, pretende-se investigar duas questões centrais: (a) Novas Visões Modulares; (b) Novas Estratégias para Verificação de Conformidade Modular. Financiamento: Edital Universal CNPq 14/2013 (Processo: 475697/2013-8). Valor financiado: R$ 66.928,07.
Integrantes: Marco Tulio de Oliveira Valente (coordenador), Marcelo de Almeida Maia, Ricardo Terra, Humberto Marques, Heitor Augustus Xavier Costa, Rodrigo Queiroz.

Projetos de desenvolvimento em andamento

Veja todos os projetos no Currículo Lattes

Últimas publicações

Artigos em periódicos


Trabalhos completos em congressos

Historical and impact analysis of API breaking changes: A large-scale study
2017. 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).
How Clear is Your Code? An Empirical Study with Programming Challenges
2017. XX Congresso Ibero-americano de Engenharia de Software (CIbSE).
A Comparison of Three Algorithms for Computing Truck Factors
2017. 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).
RefDiff: Detecting Refactorings in Version Histories
2017. 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).
A novel approach for estimating Truck Factors
2016. 2016 IEEE 24th International Conference on Program Comprehension (ICPC).
Do Developers Deprecate APIs with Replacement Messages? A Large-Scale Analysis on Java Systems
2016. 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).
Learning from Source Code History to Identify Performance Failures
2016. the 7th ACM/SPEC.
Does Technical Debt Lead to the Rejection of Pull Requests?
2016. XII Simpósio Brasileiro de Sistemas de Informação (SBSI).
An Empirical Study on Recommendations of Similar Bugs
2016. 2016 IEEE 23rd International Conference on Software Analysis, Evolution and Reengineering (SANER).
Perceptions of 395 Developers on Software Architecture's Documentation and Conformance
2016. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS).
A Lightweight Remodularization Process Based on Structural Similarity
2016. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS).
Identifying Utility Functions in Java and JavaScript
2016. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS).
Understanding the Factors That Impact the Popularity of GitHub Repositories
2016. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).
Modular Specification of Architectural Constraints
2016. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS).
A Comparative Study of Algorithms for Estimating Truck Factor
2016. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS).
Predicting the Popularity of GitHub Repositories
2016. the The 12th International Conference.
When should internal interfaces be promoted to public?
2016. the 2016 24th ACM SIGSOFT International Symposium.
AngularJS in the wild: a survey with 460 developers
2016. the 7th International Workshop.
Characterizing Bug Workflows in Mozilla Firefox
2016. the 30th Brazilian Symposium.
Why we refactor? confessions of GitHub contributors
2016. the 2016 24th ACM SIGSOFT International Symposium.
Um Estudo sobre Extração de Métodos para Reutilização de Código
2015. XII Workshop em Engenharia de Software Experimental (ESELAW).
Conformidade e Visualização Arquitetural em Linguagens Dinâmicas
2015. XVIII Congresso Ibero-americano de Engenharia de Software (CIbSE).
Feature scattering in the large: a longitudinal study of Linux kernel device drivers
2015. the 14th International Conference.
Does JavaScript software embrace classes?
2015. 2015 IEEE 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER).
System Specific, Source Code Transformations
2015. 31st IEEE International Conference on Software Maintenance and Evolution (ICSME).
Recording and Replaying System Specific, Source Code Transformations
2015. 15th IEEE International Working Conference on Source Code Analysis and Manipulation.
Validating metric thresholds with developers: An early result
2015. 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).
Developers' perception of co-change patterns: An empirical study
2015. 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).
How Do Developers React to API Evolution? The Pharo Ecosystem Case
2015. 31st IEEE International Conference on Software Maintenance and Evolution (ICSME).
Recommending automated extract method refactorings
2014. the 22nd International Conference.
Assessing modularity using co-change clusters
2014. the 13th international conference.
Extracting relative thresholds for source code metrics
2014. 2014 Software Evolution Week IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMRWCRE).
Remodularization analysis using semantic clustering
2014. 2014 Software Evolution Week IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMRWCRE).
Object-Business Process Mapping Frameworks: Abstractions, Architecture, and Implementation
2014. 2014 IEEE 18th International Enterprise Distributed Object Computing Conference (EDOC 2014).
Mining Architectural Patterns Using Association Rules
2013. 25th International Conference on Software Engineering and Knowledge Engineering (SEKE).
Mining system specific rules from change patterns
2013. 2013 20th Working Conference on Reverse Engineering (WCRE).
Documenting APIs with examples: Lessons learned with the APIMiner platform
2013. 2013 20th Working Conference on Reverse Engineering (WCRE).
Heuristics for discovering architectural violations
2013. 2013 20th Working Conference on Reverse Engineering (WCRE).
Recommending Move Method refactorings using dependency sets
2013. 2013 20th Working Conference on Reverse Engineering (WCRE).
A quantitative approach for evaluating software maintenance services
2013. the 28th Annual ACM Symposium.
Uma Abordagem para Verificação de Similaridade entre Sistemas Orientados a Objetos
2012. XI Simpósio Brasileiro de Qualidade de Software.
Detecção de Violações Arquiteturais usando Histórico de Versões
2012. XI Simpósio Brasileiro de Qualidade de Software.
Uncovering Causal Relationships between Software Metrics and Bugs
2012. 16th European Conference on Software Maintenance and Reengineering.

Resumos expandidos em congressos

Why do we break APIs? First answers from developers
2017. 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Statically identifying class dependencies in legacy JavaScript systems: First results
2017. 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Inferência de Tipos em Ruby: Uma Comparação entre Técnicas de Análise Estática e Dinâmica
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Distribuição de Conhecimento de Código em Times de Desenvolvimento -- uma Análise Arquitetural
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance.
Um Estudo em Larga Escala sobre Estabilidade de APIs
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Uma Ferramenta para Conversão de Código JavaScript Orientado a Objetos em ECMA 5 para ECMA 6
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Identifying Utility Functions Using Random Forests
2016. 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).
Um Estudo em Larga Escala sobre o Uso de APIs Internas
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
JAVALI: Uma Ferramenta para Análise de Popularidade de APIs Java
2016. Sessão de ferramentas do CBSoft.
Um Estudo sobre a Utilização de Mensagens de Depreciação de APIs
2015. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems.
2015. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
ArchRuby: Conformidade e Visualização Arquitetural em Linguagens Dinâmicas
2015. Sessão de ferramentas do CBSoft.
JSCity: Visualização de Sistemas JavaScript em 3D.
2015. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
JSClassFinder: A Tool to Detect Class-like Structures in JavaScript
2015. Sessão de ferramentas do CBSoft.
Using JavaScript Static Checkers on GitHub Systems: A First Evaluation
2015. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture
2015. 3rd IEEE Working Conference on Software Visualization (VISSOFT), Tool Demos.
apiwave: Keeping Track of API Popularity and Migration.
2015. 31st IEEE International Conference on Software Maintenance and Evolution (ICSME), Tool Demonstrations Track.
Coleta e Análise de Métricas Estáticas para Sistemas JavaScript
2014. 2nd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
JExtract: An Eclipse Plug-in for Recommending Automated Extract Method Refactorings
2014. Sessão de ferramentas do CBSoft.
APIEvolutionMiner: Keeping API evolution under control
2014. 2014 Software Evolution Week IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMRWCRE).
ArchGraph: Modularização Automática de Sistemas Usando Clusterização de Grafos de Dependência
2014. 2nd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems
2014. Sessão de ferramentas do CBSoft.
Does feature scattering follow power-law distributions?
2014. the 6th International Workshop.
RTTool: A Tool for Extracting Relative Thresholds for Source Code Metrics
2014. 2014 IEEE International Conference on Software Maintenance and Evolution (ICSME).
ModularityCheck: A Tool for Assessing Modularity using Co-Change Clusters
2014. Sessão de ferramentas do CBSoft.
Uma Ferramenta para Verificação de Conformidade Visando Diferentes Percepções de Arquiteturas de Software
2014. Sessão de ferramentas do CBSoft.
APIMiner 2.0: Uma Plataforma para Recomendação de Exemplos de Uso de APIs Baseados em Padrões de Uso
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
ArchLint: Uma Ferramenta para Detecção de Violações Arquiteturais usando Histórico de Versões
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
TopicViewer: Evaluating Remodularizations Using Semantic Clustering
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
JMove: Seus Métodos em Classes Apropriadas
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
Measuring the Structural Similarity between Source Code Entities
2013. 25th International Conference on Software Engineering and Knowledge Engineering (SEKE).
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
Metrics-based Detection of Similar Software
2013. 25th International Conference on Software Engineering and Knowledge Engineering (SEKE).
BugMaps: A Tool for the Visual Exploration and Analysis of Bugs
2012. 16th European Conference on Software Maintenance and Reengineering.
Recommending Refactorings to Reverse Software Architecture Erosion
2012. 16th European Conference on Software Maintenance and Reengineering.
An Approach for Extracting Modules from Monolithic Software Architectures
2012. IX Workshop de Manutenção de Software Moderna.
DCLfix: A Recommendation System for Repairing Architectural Violations
2012. III Congresso Brasileiro de Software: Teoria e Prática.
APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs
2012. III Congresso Brasileiro de Software: Teoria e Prática.

Resumos em congressos

Modelo de Gestão de Demandas de Manutenção de Software: a Experiência da PUC Minas
2009. VI Workshop de Manutenção de Software Moderna.
Uma Extensão de Pascal Orientada a Objetos
1992. XV Congresso Nacional de Matemática Aplicada e Computacional.
EdTeX: Um Editor de Textos para o LaTeX
1991. V Simpósio Brasileiro de Engenharia de Software - Feira de Ferramentas.

Veja todas as publicações no Currículo Lattes

Orientações em andamento

Mestrado

Thais Mombach. Algoritmos para Estimativa de Concentração de Conhecimento em Equipes de Desenvolvimento de Software. Início: 2017. Universidade Federal de Minas Gerais (Orientador principal)
Aline Norberta de Brito. API Usage and Evolution. Início: 2016. Universidade Federal de Minas Gerais (Orientador principal)

Doutorado

José Laerte Pires Xavier Júnior. API Design and Evolution. Início: 2017. Universidade Federal de Minas Gerais (Orientador principal)
Mivian Marques Ferreira. Concentration of Knowledge in Software Projects. Início: 2017. Universidade Federal de Minas Gerais (Orientador principal)
Gleison Brito Batista. API Usage and Evolution. Início: 2016. Universidade Federal de Minas Gerais (Orientador principal)
João Eduardo Montandon de Araújo Filho. Mining software repositories. Início: 2016. Universidade Federal de Minas Gerais (Orientador principal)
Jailton Junior de Sousa Coelho. Open-source Software Development. Início: 2015. Universidade Federal de Minas Gerais (Orientador principal)
Guilherme Amaral Avelino. Measuring Code Authorship: Algorithms and Applications. Início: 2014. Universidade Federal de Minas Gerais (Orientador principal)
Hudson Silva Borges. Assessing the Popularity of Open-Source Projects: A Conceptual Framework. Início: 2014. Universidade Federal de Minas Gerais (Orientador principal)
Danilo Ferreira e Silva. Detecting refactorings using version histories. Início: 2014. Universidade Federal de Minas Gerais (Orientador principal)
Leonardo Humberto Guimarães Silva. Identifying Classes in Legacy JavaScript Code. Início: 2013. Universidade Federal de Minas Gerais (Orientador principal)

Veja todas as orientações no Currículo Lattes