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 20/12/2018

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

2017 a AtualAvaliação em Larga Escala de Práticas de Gerenciamento de Projetos de Código Aberto -- Programa Pesquisador Mineiro (PPM XI)
O objetivo central deste projeto é revelar e aperfeiçoar práticas de gerenciamento e monitoramento de projetos de código aberto, com ênfase em: (a) monitoramento de popularidade de sistemas open-source; (b) gerenciamento de fatores de riscos de sistemas open-source; (c) controle de breaking changes em APIs providas por bibliotecas e frameworks open-source. Financiamento: FAPEMIG (processo CEX-PPM-00490-17). Valor financiado: R$ 25.200,00
Integrantes: Marco Tulio de Oliveira Valente (coordenador).

Projetos de desenvolvimento em andamento

Veja todos os projetos no Currículo Lattes

Últimas publicações

Artigos em periódicos

On the use of replacement messages in API deprecation: An empirical study
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
How do developers react to API evolution? A large-scale empirical study
2018. SOFTWARE QUALITY JOURNAL (ONLINE).
AngularJS Performance: A Survey Study
2018. IEEE SOFTWARE.
JMove: A novel heuristic and tool to detect move method refactoring opportunities
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
What?s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
Identifying Classes in Legacy JavaScript Code
2017. Journal of Software-Evolution and Process.
The shape of feature code: an analysis of twenty C-preprocessor-based systems
2017. Software and Systems Modeling (Print).
DCL 2.0: modular and reusable specification of architectural constraints
2017. JOURNAL OF THE BRAZILIAN COMPUTER SOCIETY (IMPRESSO).
Architecture Conformance Checking in Dynamically Typed Languages.
2016. Journal of Object Technology.
Mining architectural violations from version history
2016. Empirical Software Engineering.
NextBug: a Bugzilla extension for recommending similar bugs
2015. Journal of Software Engineering Research and Development.
Mining usage patterns for the Android API
2015. PeerJ Computer Science.
Automatic Detection of System-Specific Conventions Unknown to Developers
2015. The Journal of Systems and Software.
Predicting Software Defects with Causality Tests
2014. The Journal of Systems and Software.
BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests
2014. Journal of Software Engineering Research and Development.
A Semi-automatic Approach for Extracting Software Product Lines
2012. IEEE Transactions on Software Engineering.
A dependency constraint language to manage object-oriented software architectures
2009. Software, Practice & Experience.

Trabalhos completos em congressos

Assessing the threat of untracked changes in software evolution
2018. the 40th International Conference.
Why and how Java developers break APIs
2018. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Why we engage in FLOSS
2018. the 11th International Workshop.
Feature location benchmark with argoUML SPL
2018. Proceeedings of the 22nd International Conference.
Identifying unmaintained projects in github
2018. the 12th ACM/IEEE International Symposium.
How Clear is Your Code? An Empirical Study with Programming Challenges
2017. XX Congresso Ibero-americano de Engenharia de Software (CIbSE).
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).
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).
Why modern open source projects fail
2017. the 2017 11th Joint Meeting.
Learning from Source Code History to Identify Performance Failures
2016. the 7th ACM/SPEC.
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).
Does Technical Debt Lead to the Rejection of Pull Requests?
2016. XII Simpósio Brasileiro de Sistemas de Informação (SBSI).
A novel approach for estimating Truck Factors
2016. 2016 IEEE 24th International Conference on Program Comprehension (ICPC).
An Empirical Study on Recommendations of Similar Bugs
2016. 2016 IEEE 23rd International Conference on Software Analysis, Evolution and Reengineering (SANER).
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).
Characterizing Bug Workflows in Mozilla Firefox
2016. the 30th Brazilian Symposium.
Perceptions of 395 Developers on Software Architecture's Documentation and Conformance
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).
Why we refactor? confessions of GitHub contributors
2016. the 2016 24th ACM SIGSOFT International Symposium.
Modular Specification of Architectural Constraints
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.
Feature scattering in the large: a longitudinal study of Linux kernel device drivers
2015. the 14th International Conference.
Conformidade e Visualização Arquitetural em Linguagens Dinâmicas
2015. XVIII Congresso Ibero-americano de Engenharia de Software (CIbSE).
Does JavaScript software embrace classes?
2015. 2015 IEEE 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER).
Um Estudo sobre Extração de Métodos para Reutilização de Código
2015. XII Workshop em Engenharia de Software Experimental (ESELAW).
Recording and Replaying System Specific, Source Code Transformations
2015. 15th IEEE International Working Conference on Source Code Analysis and Manipulation.
Developers' perception of co-change patterns: An empirical study
2015. 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).
Validating metric thresholds with developers: An early result
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).
System Specific, Source Code Transformations
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.
Remodularization analysis using semantic clustering
2014. 2014 Software Evolution Week IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMRWCRE).
Extracting relative thresholds for source code metrics
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).

Resumos expandidos em congressos

Uma Análise da Produção Científica Brasileira em Conferências de Manutenção e Evolução de Software.
2018. 6th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
APIDiff: Detecting API breaking changes
2018. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Monorepos: A Multivocal Literature Review
2018. 6th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Microservices in Practice: A Survey Study
2018. 6th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
GitHub REST API vs GHTorrent vs GitHub Archive: A Comparative Study
2018. 6th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
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).
Caracterização do Papel Desempenhado por Desenvolvedores Responsáveis pelo Truck Factor de Projetos de Software
2017. 5th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Como Pesquisadores Usam o Dataset GHTorrent?
2017. 5th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Uma Caracterização em Larga Escala da Arquitetura de Sistemas Docker
2017. 5th 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.
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).
Um Estudo em Larga Escala sobre o Uso de APIs Internas
2016. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
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).
Um Estudo em Larga Escala sobre Estabilidade de APIs
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).
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.
JSClassFinder: A Tool to Detect Class-like Structures in JavaScript
2015. Sessão de ferramentas do CBSoft.
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.
OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture
2015. 3rd IEEE Working Conference on Software Visualization (VISSOFT), Tool Demos.
Using JavaScript Static Checkers on GitHub Systems: A First Evaluation
2015. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
apiwave: Keeping Track of API Popularity and Migration.
2015. 31st IEEE International Conference on Software Maintenance and Evolution (ICSME), Tool Demonstrations Track.
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.
APIEvolutionMiner: Keeping API evolution under control
2014. 2014 Software Evolution Week IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMRWCRE).
Coleta e Análise de Métricas Estáticas para Sistemas JavaScript
2014. 2nd Brazilian Workshop on Software Visualization, Evolution and Maintenance.
ModularityCheck: A Tool for Assessing Modularity using Co-Change Clusters
2014. Sessão de ferramentas do CBSoft.
JExtract: An Eclipse Plug-in for Recommending Automated Extract Method Refactorings
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).
Uma Ferramenta para Verificação de Conformidade Visando Diferentes Percepções de Arquiteturas de Software
2014. Sessão de ferramentas do CBSoft.
NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems
2014. Sessão de ferramentas do CBSoft.

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)

Doutorado

Aline Norberta de Brito. Mining software repositories. Início: 2018. Universidade Federal de Minas Gerais (Orientador principal)
José Laerte Pires Xavier Júnior. Mining Software Repositories. Início: 2017. Universidade Federal de Minas Gerais (Orientador principal)
Gleison Brito Batista. Mining Software Repositories. 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)
Danilo Ferreira e Silva. Detecting refactorings using version histories. Início: 2014. Universidade Federal de Minas Gerais (Orientador principal)

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