Skip to content

joaopauloaramuni/laboratorio-de-experimentacao-de-software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


pucminas


Repo Laboratório de Experimentação de Software

Python Version GitHub repo size GitHub directory file count GitHub stars GitHub forks GitHub language count GitHub license GitHub commit activity GitHub last commit Views Counter

Disciplina do curso de Engenharia de Software da PUC Minas

  • 2°Sem 2024
  • 1°Sem 2025
  • 2°Sem 2025

Sumário:

Links úteis:

Calendário Acadêmico
📚 Referências gerais
📌 Experimentação de Software
🛠️ Engenharia de Software
  • 📗 Software Engineering – Ian Sommerville
    Obra clássica que aborda de forma abrangente os principais conceitos, processos e práticas da engenharia de software, amplamente utilizada em cursos e na indústria.

  • 📘 Engenharia de Software Moderna - Marco Tulio Valente
    Livro gratuito e atualizado que trata da engenharia de software com foco em práticas modernas, como integração contínua, microserviços e DevOps, com exemplos em Java e Python.

    • 🎵 Podcast / Audiobook no Spotify
      Engenharia de Software Moderna está também disponível no formato de podcast, com resumos de seções do livro gerados por IA por meio do NotebookLM do Google.
  • 📚 IEEE SWEBOK – Software Engineering Body of Knowledge

    • PDF - Guia oficial do IEEE que organiza e descreve o corpo de conhecimento essencial da engenharia de software, servindo como referência para profissionais, educadores e certificações.
📖 Leituras essenciais para aprender e dominar Python

A leitura de bons livros é uma forma sólida e aprofundada de aprender Python, desde os fundamentos até tópicos avançados como orientação a objetos, scraping, boas práticas e uso idiomático da linguagem. A lista a seguir inclui títulos para iniciantes, intermediários e profissionais que desejam escrever código mais limpo e eficaz.


📚 Leitura complementar
📖 Fontes para aprofundar conhecimentos em engenharia de software empírica

Além dos estudos focados na linguagem Python, é fundamental explorar abordagens mais amplas e baseadas em evidências sobre o desenvolvimento de software. A engenharia de software empírica fornece métodos e estudos que ajudam a compreender e melhorar práticas, ferramentas e processos de desenvolvimento com base em dados e observações do mundo real. Os recursos abaixo são indicados para quem deseja mergulhar nessa área de pesquisa aplicada.

📝 Outras fontes extras

🧾 Artigos clássicos e leituras sugeridas

1. 📄 Basili, V.R., & Weiss, D.M. (1984). A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering
➤ Este artigo apresenta uma metodologia rigorosa para coleta e análise de dados empíricos em engenharia de software, sendo um marco para experimentação controlada.

2. 📊 Kitchenham, B., et al. (2002). An Empirical Study of Maintenance and Development Estimation Accuracy. The Journal of Systems and Software.
➤ Estudo empírico que mostra boa acurácia em estimativas feitas por uma empresa, superando modelos por pontos de função.

3. 🎯 Basili, V.R., Caldiera, G., & Rombach, H.D. (1994). The Goal Question Metric Approach. Journal of Software Engineering and Knowledge Engineering.
➤ Define um framework para definição sistemática de métricas alinhadas a objetivos de negócios e engenharia.

4. 🐞 Fenton, N.E., & Neil, M. (1999). A Critique of Software Defect Prediction Models. IEEE Transactions on Software Engineering.
➤ Análise crítica dos modelos preditivos de defeitos, ressaltando desafios na validação empírica.

5. 🧪 Tichy, W.F. (1998). Should Computer Scientists Experiment More?. IEEE Computer.
➤ Discussão histórica e crítica sobre a importância da experimentação rigorosa em ciência da computação e engenharia de software.

6. 🧾 Runeson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering
➤ Artigo fundamental para quem deseja conduzir estudos de caso em engenharia de software com rigor científico e validade externa.

7. 🔄 Dyba, T., & Dingsoyr, T. (2008). Empirical studies of agile software development: A systematic review. Information and Software Technology.
➤ Revisão sistemática que analisa evidências empíricas sobre métodos ágeis e seu impacto na produtividade, qualidade e satisfação da equipe.

8. 📐 Briand, L.C., Morasca, S., & Basili, V.R. (2002). An operational process for goal-driven definition of measures. IEEE Transactions on Software Engineering.
Proposta de um processo sistemático para definir métricas a partir de objetivos organizacionais e necessidades específicas de análise.

9. 📘 Zelkowitz, M.V., & Wallace, D.R. (1998). Experimental models for validating technology. Computer.
➤ Apresenta 12 modelos experimentais aplicáveis à engenharia de software para validar novas tecnologias, discutindo como diferentes abordagens afetam a confiabilidade dos resultados empíricos.

10. 📄 Kitchenham, B., et al. (2004). Evidence-Based Software Engineering. Proceedings of the 26th International Conference on Software Engineering.
➤ Apresenta os fundamentos da engenharia de software baseada em evidências, discutindo benefícios, viés em experimentos e limites de generalização.

11. 🧪 Sjøberg, D. I. K., Hannay, J. E., Hansen, O., et al. (2005). A Survey of Controlled Experiments in Software Engineering. IEEE Transactions on Software Engineering.
➤ Estudo abrangente que analisa mais de 100 experimentos controlados, apontando tendências, deficiências metodológicas e oportunidades para pesquisa empírica mais robusta.

12. 📄 Zazworka, N., et al. (2013). Comparing Four Approaches for Technical Debt Identification. Software Quality Journal, pp. 1-24.
➤ Compara quatro técnicas para identificar dívida técnica no código-fonte, mostrando pouca sobreposição entre elas e destacando a relação entre violações de modularidade e maior incidência de defeitos e mudanças.

13. 🧠 Ko, A. J., DeLine, R., & Venolia, G. (2007). Information Needs in Collocated Software Development Teams. Proceedings of the 29th International Conference on Software Engineering (ICSE).
➤ Clássico que investiga as necessidades de informação em equipes de desenvolvimento de software que trabalham fisicamente próximas, ajudando a compreender fluxos de comunicação e colaboração.

14. 📈 Arcuri, A., & Briand, L. (2011). A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering. Proceedings of the 33rd International Conference on Software Engineering (ICSE).
➤ Guia prático sobre como aplicar testes estatísticos corretamente na comparação de algoritmos randomizados, com foco em engenharia de software.

15. 🌍 Wachs, J., Nitecki, M., Schueller, W., & Polleres, A. The Geography of Open Source Software: Evidence from GitHub.

  • 15.1 📄 Wachs, J., Nitecki, M., Schueller, W., & Polleres, A. (2022). The Geography of Open Source Software: Evidence from GitHub. Technological Forecasting and Social Change, 176, 121478.
    ➤ Publicado na revista Technological Forecasting and Social Change (Elsevier), março de 2022, com 17 páginas. O artigo geolocaliza mais de meio milhão de contribuidores ativos do GitHub em 2021, mostrando crescimento da participação da Ásia, América Latina e Europa Oriental, mas também forte concentração regional dentro dos países. Defende políticas locais para apoiar redes de desenvolvedores de OSS.

  • 15.2 📊 Wachs, J., Nitecki, M., Schueller, W., & Polleres, A. (2021). The Geography of Open Source Software: Evidence from GitHub. arXiv:2107.03200 [cs.SI]. Computer Science > Social and Information Networks.
    ➤ Preprint disponível no arXiv, submetido em 7 de julho de 2021 (v1) e revisado em 12 de outubro de 2021 (v2), com 28 páginas. A versão expandida mantém o foco na distribuição geográfica dos desenvolvedores de OSS no GitHub, discutindo concentração em polos regionais e sugerindo que políticas públicas locais são mais eficazes que estratégias nacionais.

  • :octocat: Dados e scripts disponíveis no GitHub:
    ➤ Repositório do pipeline de geocodificação e dados agregados usado no estudo: Geography-of-Open-Source-Software


🧹 Leituras sugeridas sobre Análise de Código

16. 🧮 Chidamber, S. R., & Kemerer, C. F. (1994). A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering.
➤ Artigo seminal que propôs o conjunto de métricas CK (WMC, DIT, NOC, CBO, RFC e LCOM), amplamente utilizadas na avaliação da qualidade de projetos orientados a objetos.

17. 🧼 Marinescu, R. (2004). Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. Proceedings of the 20th IEEE International Conference on Software Maintenance.
➤ Propõe o uso de métricas orientadas a objetos para formular regras que detectam automaticamente code smells arquiteturais e de design em sistemas Java.

18. 📚 Zakeri-Nasrabadi, M., Parsa, S., Esmaili, E., & Palomba, F. (2023). A Systematic Literature Review on the Code Smells Datasets and Validation Mechanisms. ACM Computing Surveys, 55(13s).
➤ Revisão sistemática de 45 conjuntos de dados utilizados para validar ferramentas de detecção de code smells. Os autores analisam propriedades como tamanho, tipos de smells representados, balanceamento de amostras e suporte a severidade. O estudo mostra que a maioria dos datasets cobre apenas três tipos (God Class, Long Method e Feature Envy), com vários smells do catálogo de Fowler e Beck ainda não representados.

19. 🕵️ Tufano, M., Palomba, F., Bavota, G., De Lucia, A., Penta, M. D., & Oliveto, R. (2015). When and Why Your Code Starts to Smell Bad. Proceedings of the 37th IEEE/ACM International Conference on Software Engineering (ICSE).
➤ Investiga a origem dos code smells em repositórios Java, revelando que muitos surgem logo na introdução do código e não como resultado de manutenção ou degradação gradual.

20. 🧭 Palomba, F., Bavota, G., Di Penta, M., Fasano, F., Oliveto, R., & De Lucia, A. (2017). On the Diffuseness and the Impact on Maintainability of Code Smells: A Large Scale Empirical Investigation. Empirical Software Engineering.
➤ Estudo empírico com 395 versões de 30 projetos open source, analisando 13 tipos de code smells. Conclui que smells como Complex Class são amplamente difundidos e aumentam a propensão a mudanças e defeitos no código.

21. 🔍 Agnihotri, M., & Chug, A. (2020). A Systematic Literature Survey of Software Metrics, Code Smells and Refactoring Techniques. Journal of Information Processing Systems Vol. 16, No. 4, pp. 915-934.
➤ Revisão de 68 estudos sobre code smells, técnicas de refatoração e seu impacto em métricas como acoplamento e complexidade. Os smells mais abordados foram long method, feature envy e data class, sendo o extract class a técnica de refatoração mais aplicada.

22. 👃 Virgínio, T. et al. (2021). On the test smells detection: an empirical study on the JNose Test accuracy. Journal of Software Engineering Research and Development.
➤ Estudo que avalia a acurácia do JNose na detecção de test smells em código Java. Útil para entender limitações e implicações da qualidade dos testes automatizados.

23. 🔬 Subramanyam, R., & Krishnan, M. S. (2003). Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects. IEEE Transactions on Software Engineering, 29(4), 297–310.
➤ Estudo empírico que investiga a relação entre as métricas CK (Chidamber & Kemerer) de design orientado a objetos e a incidência de defeitos em software. Os resultados indicam que métricas como CBO e WMC têm forte correlação com defeitos, sugerindo seu valor preditivo em qualidade de software.

24. 📄 Destefanis, G., Counsell, S., Concas, G., & Tonelli, R. (2014). Software Metrics in Agile Software: An Empirical Study. Agile Processes in Software Engineering and Extreme Programming (XP 2014), pp. 157–170.
➤ Análise empírica que mostra que métricas de software (como LOC e métricas CK) têm distribuições semelhantes em sistemas ágeis e tradicionais, sugerindo que a metodologia usada não afeta significativamente a estrutura do código.

25. 📈 Kurmangali, A., Rana, M. E., & Ab Rahman, W. N. W. (2022). Impact of Abstract Factory and Decorator Design Patterns on Software Maintainability: Empirical Evaluation using CK Metrics. 2022 International Conference on Decision Aid Sciences and Applications (DASA), 23–25 March.
➤ Estudo empírico que avalia o impacto dos padrões Abstract Factory e Decorator na manutenibilidade de software, usando métricas CK. Os resultados mostram melhoria em atributos de qualidade após a aplicação dos padrões, reforçando seu valor em projetos orientados a objetos.


📅 2025

26. 🤖 Recupito, G., Giordano, G., Ferrucci, F., Di Nucci, D., & Palomba, F. (2025). When Code Smells Meet ML: On the Lifecycle of ML-specific Code Smells in ML-enabled Systems. Empirical Software Engineering: Volume 30, article number 139.
➤ Estudo que investiga code smells específicos de sistemas baseados em Machine Learning. Analisa sua prevalência, evolução e remoção em mais de 400 mil commits de 337 projetos reais, usando a ferramenta CodeSmile para detecção automatizada.

27. 🧠 De Martino, V., Castaño, J., Palomba, F., Franch, X., & Martínez-Fernández, S. (2025). A Framework for Using LLMs for Repository Mining Studies in Empirical Software Engineering. 2025 IEEE/ACM International Workshop on Methodological Issues with Empirical Studies in Software Engineering (WSESE).
➤ Propõe o framework PRIMES para apoiar o uso de LLMs em estudos de mineração de repositórios. O foco está na criação e refinamento de prompts, controle de resultados e reprodutibilidade, com lições práticas de dois estudos empíricos.

28. 🗂️ Alomari, N., Alazba, A., Aljamaan, H., & Alshayeb, M. (2025). SmellyCode++: Multi-Label Dataset for Code Smell Detection. Sci Data 12, 1207 (2025).
➤ Apresenta um dataset multi-label com mais de 107 mil amostras para detecção de code smells em Java, incluindo God Class, Data Class, Feature Envy e Long Method. O dataset integra métricas numéricas e texto, melhorando a realismo na detecção e suporte para treinamento de LLMs.

29. 🐍 Boloori, A., & Sharma, T. (2025). DPy: Code Smells Detection Tool for Python. Proceedings of the 2025 IEEE/ACM 22nd International Conference on Mining Software Repositories (MSR).
➤ Apresenta o DPy, ferramenta para detecção de code smells em Python, suportando 8 design smells e 11 implementation smells, além de métricas de qualidade. Disponibiliza pacote de replicação completo para validação e uso.

30. 🧱 Tamanna, M., Chandrani, Y., Burrows, M., Wroblewski, B., Williams, L., & Wermke, D. (2025). Build It Clean: Large-Scale Detection of Code Smells in Build Scripts. arXiv preprint arXiv:2506.17948.
➤ Estudo sobre code smells em scripts de build (Maven, Gradle, CMake e Makefiles), com análise de 5882 scripts de 4877 repositórios. A ferramenta Sniffer identificou 13 tipos de smells, somando 10.895 ocorrências. Oferece recomendações para melhorar a manutenção e confiabilidade dos scripts.

31. 🔍 Balla, S., Degueule, T., Robbes, R., Falleri, J.-R., & Zacchiroli, S. (2025). Automatic Classification of Software Repositories: a Systematic Mapping Study. International Conference on Evaluation and Assessment in Software Engineering (EASE 2025), Jun 2025, Istanbul, Turkey.
➤ Revisão sistemática de 43 estudos (2002–2023) sobre classificação automática de repositórios de software usando aprendizado de máquina. Analisa objetivos, entradas, saídas, treinamentos e avaliações dos estudos.


📊 Relatórios e benchmarks da indústria
  • 📈 2025 Software Engineering Benchmarks Report – LinearB
    Relatório anual da LinearB que apresenta métricas e benchmarks baseados em dados empíricos coletados de milhares de equipes de engenharia de software. Fornece insights sobre produtividade, fluxo de desenvolvimento e práticas de alto desempenho, permitindo comparar times e identificar oportunidades de melhoria.

  • 🧭 The State of Software Engineering Excellence 2025 – Harness
    Relatório global da Harness que analisa o estado da excelência em engenharia de software em 2025. Apresenta métricas de eficiência, qualidade e automação em pipelines de entrega, destacando práticas de elite em CI/CD, DevOps, confiabilidade e cultura de engenharia de alto desempenho.


📰 Notícias
🗞️ Atualizações e novidades sobre experimentação em engenharia de software

Principais notícias e artigos que destacam práticas, métricas e estudos empíricos em engenharia de software em 2025.


🗞️ Newsletters e publicações sugeridas
🌍 Publicações e portais de referência global em engenharia de software e experimentação empírica

Básicas:

  • Pragmatic Engineer Newsletter: Newsletter semanal com análises de práticas de engenharia de software, produtividade de equipes e experimentação em grandes empresas de tecnologia.

  • Software Engineering Daily: Podcast e newsletter com entrevistas e discussões sobre métricas, produtividade e experimentos em engenharia de software.

  • ACM Queue: Revista com artigos sobre engenharia de software, práticas experimentais, métricas e estudos de caso em empresas e projetos reais.

Complementares:

  • Software Lead Weekly: Newsletter focada em liderança técnica, métricas de engenharia, experimentos de produtividade e práticas empíricas em desenvolvimento de software.

  • CTO Craft Newsletter: Insights de CTOs sobre métricas, experimentação, decisões técnicas e engenharia de software empírica em grandes empresas.

  • LeadDev Newsletter: Newsletter sobre liderança de engenharia, produtividade de times e experiências empíricas em projetos de software.


🛠️ IDEs e Ferramentas
⚙️ Ambientes de desenvolvimento para produtividade e depuração

IDE (Ambiente de Desenvolvimento Integrado) e editores especializados ajudam a escrever, depurar e manter código com mais eficiência. Ferramentas como PyCharm, VS Code e Python Tutor oferecem recursos como autocompletar, depuração visual, linting, integração com Git e visualização de execução passo a passo.


🎓 Como obter o PyCharm Professional gratuitamente com o GitHub Student Developer Pack

Ao se cadastrar no GitHub Student Developer Pack, você garante acesso gratuito à versão profissional das ferramentas da JetBrains, como o PyCharm Professional 🧠💻. Essa é uma excelente oportunidade para utilizar recursos avançados de desenvolvimento, como depuração visual, análise de código, suporte a frameworks e muito mais — tudo sem custo para estudantes! 🚀

✅ Passo a passo:

1️⃣ Adicione seu e-mail institucional da PUC Minas (terminado em @sga.pucminas.br) como e-mail secundário na sua conta do GitHub em https://github.com/settings/emails
2️⃣ Acesse a caixa de entrada do e-mail e clique no link de confirmação enviado pelo GitHub.
3️⃣ Ao acessar o GitHub Student Developer Pack, permita que o navegador compartilhe sua localização atual 🌍.
4️⃣ Selecione "PUC Minas" como sua instituição, envie um print da sua carteirinha digital do app PUC Mobile ou um comprovante de matrícula recente como forma de verificação. Depois, aguarde até 2 dias úteis para que o selo GitHub Pro 🏅 seja ativado na sua conta.
5️⃣ Acesse: https://www.jetbrains.com/shop/eform/students
 ➡ Vá até a aba GitHub e clique em "Authorize with GitHub" 🔑.
6️⃣ Instale o PyCharm e, ao abrir o programa, vá em "Ativar licença". Escolha a opção "Log in with GitHub", faça login com sua conta GitHub (que já possui o selo GitHub Pro 🏅 e que você autorizou previamente no site da JetBrains — passo 5), e a licença Professional será ativada automaticamente 🎉.

🏁 Pronto! Agora você pode aproveitar todos os benefícios do GitHub Pro 🏅, incluindo:

  • Acesso gratuito às ferramentas profissionais da JetBrains, como o PyCharm Professional 🧠💻
  • GitHub Copilot com sugestões inteligentes de código (com testes gratuitos por tempo limitado) 🤖
  • Repositórios privados ilimitados 🔒
  • Insights avançados de contribuições, métricas e estatísticas dos seus projetos 📊
  • Ferramentas de CI/CD integradas com GitHub Actions ⚙️
  • Integrações com dezenas de serviços e ferramentas educacionais 🧩

Esses recursos ajudam a elevar seu aprendizado, organizar seus projetos e turbinar sua produtividade como desenvolvedor 💼🚀

🔗 Confira todos os detalhes do plano GitHub Pro para estudantes aqui:


📚 Documentação oficial
🧾 Fontes confiáveis e completas sobre a linguagem e suas bibliotecas

A documentação oficial é a principal referência para aprender, consultar funcionalidades e entender o comportamento da linguagem Python e suas bibliotecas padrão. Essencial tanto para iniciantes quanto para desenvolvedores experientes que desejam usar recursos da linguagem da forma correta e atualizada.


🔌 APIs e acesso a dados
🐙 GitHub REST API

A GitHub REST API permite acessar e manipular repositórios, issues, pull requests, commits e outros recursos do GitHub via requisições HTTP. Ideal para automações, integração de sistemas e extração de dados sobre projetos de software.

🔎 GraphQL

GraphQL é uma linguagem de consulta desenvolvida pelo Facebook que permite solicitar apenas os dados necessários. A API GraphQL do GitHub é uma alternativa mais flexível à REST API, ideal para otimizar a comunicação com o servidor e obter dados estruturados em uma única requisição.

🏗️ Roadmap GraphQL

Um roadmap é um guia visual que apresenta etapas, habilidades ou conhecimentos necessários para atingir um objetivo específico. Ele ajuda a organizar o aprendizado ou desenvolvimento ao longo do tempo, mostrando caminhos recomendados e prioridades.

Veja também:


📊 Bibliotecas Python para análise de dados
🐼 Pandas

Pandas é uma biblioteca poderosa de Python para análise de dados, oferecendo estruturas de dados como DataFrames e ferramentas para manipulação, limpeza, agregação e exportação de dados.

📊 Matplotlib

Matplotlib é uma biblioteca de visualização de dados em Python que permite criar gráficos estáticos, animados e interativos de forma altamente personalizável.

🧊 Seaborn

Seaborn é uma biblioteca de visualização estatística baseada no Matplotlib. Ela fornece uma interface de alto nível para criação de gráficos informativos e atrativos, como mapas de calor, gráficos de dispersão com regressão, boxplots e violin plots. Ideal para análise exploratória de dados e visualização de padrões estatísticos.

⚗️ SciPy

SciPy é uma biblioteca de código aberto em Python voltada para computação científica e técnica. Baseada no NumPy, oferece ferramentas avançadas para álgebra linear, otimização, estatística, integração numérica, processamento de sinais e imagens. É amplamente usada em análise de dados, machine learning e engenharia.

📗 Openpyxl

Openpyxl é uma biblioteca em Python que permite ler, criar e modificar arquivos do Excel no formato .xlsx. É útil para automação de planilhas, relatórios e integração com dados tabulares.


🌊 Desenvolvimento de aplicações interativas com Python
🚀 Streamlit: prototipagem rápida e dashboards

O Streamlit permite criar aplicações interativas, como dashboards para análise de dados, visualizações de modelos de machine learning e protótipos de APIs ou serviços web com interface gráfica, de forma simples e rápida. É ideal para aprendizado de máquina, visualização de dados e demonstração de projetos em Python.


📈 Ferramentas de Visualização e Storytelling com Dados
📈 Data to Viz - Guia de escolha de gráficos

Data to Viz é um guia interativo que ajuda a escolher o melhor tipo de gráfico para representar os dados com base na estrutura da informação e na mensagem que se deseja transmitir.

📉 Tableau - Ferramenta de visualização de dados e análise de dados

Tableau é uma ferramenta poderosa de Business Intelligence (BI) que permite criar dashboards interativos e explorar dados de forma visual. Suporta conexão com múltiplas fontes de dados e é amplamente usada em análise exploratória e storytelling com dados.

🪟 Microsoft Power BI - Ferramenta de visualização e análise de dados

Power BI é uma ferramenta de visualização de dados da Microsoft que possibilita transformar dados em insights interativos, com suporte a relatórios dinâmicos e integração com o ecossistema Office.

🌸 Flourish

Flourish é uma plataforma de visualização de dados que permite criar gráficos interativos, mapas e infográficos sem necessidade de programação. É amplamente utilizada para storytelling com dados, facilitando a criação de apresentações visuais impactantes.


📊 Datasets e Machine Learning
🐙 Kaggle

Kaggle é uma das maiores plataformas para datasets públicos, aprendizado de machine learning e exploração de dados. Permite acessar milhares de conjuntos de dados de diversas áreas, criar notebooks colaborativos, experimentar algoritmos e compartilhar análises com a comunidade. Ideal para projetos de ciência de dados, experimentação empírica e aprendizado prático.

Junte-se a mais de 27M+ machine learners para explorar, testar e se atualizar nas últimas técnicas e tecnologias de ML. Descubra um vasto repositório de dados, modelos e códigos publicados pela comunidade para usar em seus projetos.

  • 🌐 Acesse o Kaggle
  • 💡 Explore datasets, notebooks e recursos de aprendizado de machine learning.

🧹 Análise de Código

Ferramentas para análise estatística de código, detecção de code smells, métricas de qualidade e identificação de más práticas de programação.

  • PMD: Ferramenta que verifica problemas comuns em código Java, como variáveis não utilizadas, duplicação de código e estilos de codificação.
  • SonarQube: Plataforma para análise contínua de qualidade de código, cobrindo múltiplas linguagens. Avalia bugs, vulnerabilidades e cobertura de testes.
  • Qodana: Plataforma de análise estática de código desenvolvida pela JetBrains. Integra-se com IDEs, CI/CD e repositórios para detectar code smells, vulnerabilidades de segurança e violações de boas práticas, com suporte a múltiplas linguagens como Java, Kotlin, PHP, Python e JavaScript.
  • JNose: Ferramenta focada na identificação de test smells e design smells em código Java. Ajuda na compreensão de problemas relacionados à testabilidade e manutenibilidade.
  • Code Climate: Ferramenta de análise contínua de qualidade de código que gera métricas como complexidade ciclomática, duplicação, cobertura de testes e code smells. Suporta diversas linguagens e se integra com GitHub, GitLab e outros.
  • CodeQL: Plataforma de análise de segurança e qualidade de código da GitHub, que permite executar consultas para detectar vulnerabilidades, bugs e más práticas em diversos tipos de código fonte.
  • CK: Ferramenta de linha de comando para análise estática de código Java. Extrai métricas como CBO, LCOM, WMC, RFC, DIT, NOM e LOC, úteis para avaliar a complexidade e a qualidade do código.

📊 Tendências e pesquisas
📈 Relatórios e estudos sobre o mercado de tecnologia e comportamento de desenvolvedores

Relatórios anuais e pesquisas globais ajudam a entender as principais linguagens, ferramentas, salários, preferências e tendências no mercado de desenvolvimento de software. São ótimos para orientar decisões de carreira e identificar habilidades em alta.


pucminas

About

Repo Laboratório de Experimentação de Software

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published