Marco Túlio de Oliveira Valente

Bolsa de Produtividade CNPq: 1D
Áreas de Pesquisa: Formação Acadêmica:
Doutor, UFMG, Brasil, 2002
Ramal: 5586
mtov@dcc.ufmg.br


Informações resumidas do Currículo Lattes
Currículo Lattes atualizado em 20/09/2022ORCID: https://orcid.org/0000-0002-8180-7548Nome 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 Atual | Avaliaçã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. |
2022 a Atual | Code 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. |
2020 a Atual | Mineraçã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 Atual | Avaliaçã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
Últimas publicações
Artigos em periódicos
On the (un-)adoption of JavaScript front-end frameworks2022. SOFTWARE: PRACTICE AND EXPERIENCE.
Comments or Issues: Where to Document Technical Debt?
2022. IEEE SOFTWARE.
Are game engines software frameworks? A three-perspective study
2021. JOURNAL OF SYSTEMS AND SOFTWARE.
What skills do IT companies look for in new developers? A study with Stack Overflow jobs
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
Mining the Technical Roles of GitHub Users
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
Characterizing refactoring graphs in Java and JavaScript projects
2021. EMPIRICAL SOFTWARE ENGINEERING.
RefDiff 2.0: A Multi-Language Refactoring Detection Tool
2021. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING.
You broke my code: understanding the motivations for breaking changes in APIs
2020. EMPIRICAL SOFTWARE ENGINEERING.
Prioritizing versions for performance regression testing: The Pharo case
2020. SCIENCE OF COMPUTER PROGRAMMING.
Is this GitHub project maintained? Measuring the level of maintenance activity of open-source projects
2020. INFORMATION AND SOFTWARE TECHNOLOGY.
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.
How do developers react to API evolution? A large-scale empirical study
2018. SOFTWARE QUALITY JOURNAL (ONLINE).
On the use of replacement messages in API deprecation: An empirical study
2018. JOURNAL OF SYSTEMS AND SOFTWARE.
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.
Who Can Maintain this Code? Assessing the Effectiveness of Repository-Mining Techniques for Identifying Software Maintainers
2018. IEEE SOFTWARE.
What?s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform
2018. JOURNAL OF SYSTEMS AND SOFTWARE.

2012. IEEE Transactions on Software Engineering.

2009. Software, Practice & Experience.
Trabalhos completos em congressos
Understanding Refactoring Tasks over Time: A Study Using Refactoring Graphs2022. Congresso IberoAmericano em Engenharia de Software.
Identifying Source Code File Experts
2022. ESEM '22: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
Software engineering meets deep learning
2021. SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing.
REST vs GraphQL: A Controlled Experiment
2020. 2020 IEEE International Conference on Software Architecture (ICSA).
Refactoring Graphs: Assessing Refactoring over Time
2020. 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER).
RefDiff4Go
2020. SBCARS '20: 14th Brazilian Symposium on Software Components, Architectures, and Reuse.
Surveying the impacts of COVID-19 on the perceived productivity of Brazilian software developers
2020. SBES '20: 34th Brazilian Symposium on Software Engineering.
Migrating to GraphQL: A Practical Assessment
2019. 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER).
Identifying Experts in Software Libraries and Frameworks Among GitHub Users
2019. 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR).
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).

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.

2017. the 2017 11th Joint Meeting.

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 GitHub2022. 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 Minas2009. 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