Marco Túlio de Oliveira Valente


Bolsa de Produtividade CNPq: 1D

Áreas de Pesquisa: Formação Acadêmica:

Doutor, UFMG, Brasil, 2002

Sala: 6310
Ramal: 5586
mtov@dcc.ufmg.br

Página pessoal     Lattes    Google scholar 


Informações resumidas do Currículo Lattes

Currículo Lattes atualizado em 20/09/2022

ORCID: https://orcid.org/0000-0002-8180-7548

Nome em citações bibliográficas: VALENTE, M. T. O.;Valente, Marco Tulio;VALENTE, MARCO TÚLIO;TULIO VALENTE, MARCO;VALENTE, MARCO TULIO O.;VALENTE, MARCO TULIO O;TÚLIO VALENTE, MARCO


Projetos de pesquisa em andamento

2022 a AtualCode Smells em Sistemas Implementados na Linguagem Funcional Elixir
Atualmente, observa-se um aumento relevante na adoção de linguagens funcionais, como Elixir e Clojure. Essas linguagens possuem vantagens importantes em relação a linguagens imperativas, principalmente em termos de escalabilidade e capacidade de raciocínio modular. No entanto, grande parte da literatura de Engenharia de Software destina-se a sistemas escritos em linguagens imperativas, notadamente linguagens orientadas a objetos. Isso inclui a literatura sobre temas como projeto e arquitetura, padrões de projeto e manutenção e refatoração de software, dentre outros. Assim, neste projeto de pesquisa, pretendemos prospectar, documentar e validar um catálogo de code smells para a linguagem funcional Elixir. Code smells são estruturas que possuem potencial de denotar código de baixa qualidade e manutenibilidade. Como afirmado, os catálogos clássicos de code smells, como aquele proposto por Fowler e Beck, foram propostos para linguagens orientadas por objetos, tais como Java. Daí a relevância de adaptar e/ou propor catálogos semelhantes para linguagens como Elixir. Financiamento: Finbits (https://www.finbits.com.br). Valor financiado: R$ 96.000,00.
Integrantes: Marco Tulio de Oliveira Valente (coordenador), Lucas Francisco da Matta Vegi.
2022 a AtualAvaliação de Técnicas Modernas para Melhoria da Produtividade de Atividades de Desenvolvimento de Software (CNPq Universal 2021)
Segundo algumas consultorias, o mercado global de desenvolvimento de software deve crescer a taxas anuais de dois dígitos ao longo desta década. Essa demanda é causada pela digitalização da economia, que se acelerou bastante com a pandemia. Por outro lado, existe uma grande escassez de desenvolvedores de software, o que limita a velocidade de tais processos de digitalização. Essa escassez é global, mas ocorre de forma nítida também no Brasil. Por exemplo, estima-se que serão abertas 420 mil vagas para desenvolvedores até 2024, enquanto apenas 46 mil profissionais são formados por ano pelas universidades brasileiras. Para atenuar esse problema, duas iniciativas têm se destacado. (1) Está surgindo uma nova geração de ferramentas que facilitam a implementação de sistemas por parte de pessoas sem formação em programação, as quais são conhecidas pelo nome genérico de ferramentas no-code/low-code. Um estudo recente do Gartner Group estima que, em 2024, 65% dos sistemas serão implementados por meio de tais ferramentas (evidentemente, esses sistemas estão na ?base da pirâmide?, em termos de complexidade). (2) Diversos sistemas de Inteligência Artificial estão surgindo para incrementar a produtividade dos atuais desenvolvedores de software. Recentemente, por exemplo, a plataforma CoPilot foi proposta pelo GitHub para apoiar a geração automática do código de funções a partir apenas do nome de tais elementos. Porém, não conhecemos os benefícios e limitações dessas duas categorias de ferramentas, incluindo seus impactos em termos de evolução, manutenção e qualidade do código gerado. Assim, neste projeto, pretendemos conduzir uma avaliação sistemática de aspectos técnicos -- ancorados em bons princípios de Engenharia de Software -- que decorrem do uso de plataformas modernas para aumento da produtividade de atividades de desenvolvimento de software, incluindo plataformas no-code/low-code e também ferramentas para geração automática de código usando técnicas de IA. Financiamento: CNPq (Processo: 403512/2021-2) - Valor financiado: R$ 100.700,00
Integrantes: Marco Tulio de Oliveira Valente (coordenador), AVELINO, GUILHERME, Pedro de Alcântara dos Santos Neto, LOURDES SILVA, LUCIANA, MONTANDON, JOÃO EDUARDO.
2020 a AtualMineração em Larga Escala de Repositórios de Código Fonte - Bolsa de Produtividade em Pesquisa (CNPq)
Neste projeto de pesquisa, pretende-se utilizar grandes repositórios de software para aprender e derivar propriedades tanto de sistemas de software como de seus desenvolvedores. Mais especificamente, pretende-se: (1) identificar experts em tecnologias de software minerando em larga escala suas atividades em projetos de código-aberto; (2) derivar regras para migração de APIs por meio do aprendizado de transformações semelhantes realizadas em projetos de código-aberto; (3) investigar heurísticas para documentação automática de refactorings, incluindo documentação sobre a motivação que levou à aplicação do refactoring; (4) Tipagem de APIs REST, com o objetivo principal de proporcionar que usuários dessas APIs tenham benefícios semelhantes àqueles obtidos com GraphQL. Financiamento: CNPq (Processo: 308164/2019-9) - Valor financiado: R$ 105.600,00
Integrantes: Marco Tulio de Oliveira Valente (coordenador).
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

Comments or Issues: Where to Document Technical Debt?
2022. IEEE SOFTWARE.
On the (un-)adoption of JavaScript front-end frameworks
2022. SOFTWARE: PRACTICE AND EXPERIENCE.
RefDiff 2.0: A Multi-Language Refactoring Detection Tool
2021. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING.
Characterizing refactoring graphs in Java and JavaScript projects
2021. EMPIRICAL SOFTWARE ENGINEERING.
Mining the Technical Roles of GitHub Users
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
What skills do IT companies look for in new developers? A study with Stack Overflow jobs
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
Are game engines software frameworks? A three-perspective study
2021. JOURNAL OF SYSTEMS AND SOFTWARE.
Is this GitHub project maintained? Measuring the level of maintenance activity of open-source projects
2020. INFORMATION AND SOFTWARE TECHNOLOGY.
Prioritizing versions for performance regression testing: The Pharo case
2020. SCIENCE OF COMPUTER PROGRAMMING.
You broke my code: understanding the motivations for breaking changes in APIs
2020. EMPIRICAL SOFTWARE ENGINEERING.
How Do Developers Promote Open Source Projects?
2019. COMPUTER.
Measuring and analyzing code authorship in 1+118 open source projects
2019. SCIENCE OF COMPUTER PROGRAMMING.
Co-Change Patterns: A Large Scale Empirical Study
2019. JOURNAL OF SYSTEMS AND SOFTWARE.
Algorithms for estimating truck factors: a comparative study
2019. SOFTWARE QUALITY JOURNAL.
What?s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
Who Can Maintain this Code? Assessing the Effectiveness of Repository-Mining Techniques for Identifying Software Maintainers
2018. IEEE SOFTWARE.
JMove: A novel heuristic and tool to detect move method refactoring opportunities
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
AngularJS Performance: A Survey Study
2018. IEEE SOFTWARE.
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).
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

Identifying Source Code File Experts
2022. ESEM '22: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
Understanding Refactoring Tasks over Time: A Study Using Refactoring Graphs
2022. Congresso IberoAmericano em Engenharia de Software.
Software engineering meets deep learning
2021. SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing.
Surveying the impacts of COVID-19 on the perceived productivity of Brazilian software developers
2020. SBES '20: 34th Brazilian Symposium on Software Engineering.
RefDiff4Go
2020. SBCARS '20: 14th Brazilian Symposium on Software Components, Architectures, and Reuse.
Refactoring Graphs: Assessing Refactoring over Time
2020. 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER).
REST vs GraphQL: A Controlled Experiment
2020. 2020 IEEE International Conference on Software Architecture (ICSA).
Identifying Experts in Software Libraries and Frameworks Among GitHub Users
2019. 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR).
Migrating to GraphQL: A Practical Assessment
2019. 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Beyond Textual Issues
2019. the XXXIII Brazilian Symposium.
On the abandonment and survival of open source projects: An empirical investigation
2019. 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).
Why and how Java developers break APIs
2018. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Assessing the threat of untracked changes in software evolution
2018. the 40th International Conference.
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.
Why modern open source projects fail
2017. the 2017 11th Joint Meeting.
Why we refactor? confessions of GitHub contributors
2016. the 2016 24th ACM SIGSOFT International Symposium.

Resumos expandidos em congressos

GitHub Proxy Server: Uma Ferramenta para Simplificar a Coleta Massiva de Dados no GitHub
2022. Simpósio Brasileiro de Engenharia de Software (SBES), Trilha de Ferramentas.
GoCity: Code City for Go
2019. 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER).
APIDiff: Detecting API breaking changes
2018. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).
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).
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).

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

Larissa Bicalho. Tema a definir. Início: 2021. Universidade Federal de Minas Gerais (Orientador principal)
Victor Pezzi Gazzinelli Cruz. Tema a definir. Início: 2021. Universidade Federal de Minas Gerais (Orientador principal)

Doutorado

Lucas Francisco da Matta Vegi. Tema a definir. Início: 2021. Universidade Federal de Minas Gerais (Orientador principal)
Fabio Ferreira. Mineração de Repositórios de Software. Início: 2019. Universidade Federal de Minas Gerais (Orientador principal)
Aline Norberta de Brito. Refactoring Graphs: Reasoning about Refactoring over Time. Início: 2018. Universidade Federal de Minas Gerais (Orientador principal)
José Laerte Pires Xavier Júnior. SATD-I: On the Documentation of Self-Admitted Technical Debt in Issues. Início: 2017. Universidade Federal de Minas Gerais (Orientador principal)

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

Acesso rápido

Skip to content