Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Engenharia de Software Baseada em Busca na Era da IA

Python License DEAP Pymoo

Descrição do Curso

A Engenharia de Software Baseada em Busca (SBSE) representa uma revolução na forma como abordamos problemas complexos da engenharia de software. Este curso pioneiro explora a interseção entre técnicas clássicas de otimização e as mais modernas ferramentas de Inteligência Artificial, capacitando estudantes a projetar soluções automatizadas que otimizam desde a geração de testes até a detecção de vieses em sistemas de IA.

Em uma era onde a IA permeia todos os aspectos do desenvolvimento de software, este curso oferece uma visão única sobre como algoritmos de busca podem potencializar sistemas inteligentes e, reciprocamente, como LLMs podem revolucionar a formulação e solução de problemas de SBSE.

Carga Horária: 30 horas-aula
Modalidade: Laboratórios práticos com desenvolvimento de projeto final

Estrutura do Curso

📚 Módulos do Curso

MóduloAulasTópicoFoco Principal
11-2Fundamentos e a Nova Fronteira da SBSEConstrução de algoritmos genéticos do zero e contextualização na era da IA
23-5Técnicas de Otimização e Sinergia com IAFormulação de problemas e uso de LLMs como assistentes de otimização
36-8SBSE Aplicada à Engenharia de SoftwareTeste baseado em busca e refatoração automatizada
49-12SBSE para Sistemas de IAFairness testing, otimização de hiperparâmetros e especificação do projeto final
513-14Tópicos Avançados e ÉticaOtimização multi-objetivo e análise ética da otimização automatizada
615-16Desenvolvimento do Projeto FinalPeríodo para desenvolvimento autônomo e entrega

🎯 Objetivos do Curso

Objetivo Geral: Capacitar o aluno a projetar, implementar e validar soluções automatizadas que integrem SBSE com Inteligência Artificial, criando sistemas mais robustos, eficientes e éticos.

Competências Desenvolvidas:

🛠 Ferramentas e Tecnologias

Core Technologies:

Ambiente de Desenvolvimento:

Bibliotecas Complementares:

📋 Avaliação

ComponentePesoCritérios
Projeto Final Integrado100%Formulação do problema, implementação técnica, integração SBSE+IA, validação experimental, documentação e apresentação

Requisitos do Projeto:

🗓 Cronograma Detalhado

Módulo 1: Fundamentos (Aulas 1-2)

Módulo 2: Sinergia com IA (Aulas 3-5)

Módulo 3: Aplicações Tradicionais (Aulas 6-8)

Módulo 4: SBSE para IA (Aulas 9-12)

Módulo 5: Tópicos Avançados (Aulas 13-14)

Módulo 6: Projeto (Aulas 15-16)

🚀 Como Utilizar Este Material

Estrutura de Diretórios

docs/aulas/
├── aula-01-introducao-sbse/          # Fundamentos da SBSE
├── aula-02-tecnicas-otimizacao-sbse/ # Algoritmos Genéticos na prática  
├── aula-03-formulacao-problemas/     # Representações e fitness
├── aula-04-laboratorio-deap/         # Framework DEAP
├── aula-05-sinergia-ia/              # LLMs + SBSE
├── aula-06-teste-baseado-busca/      # SBST teoria
├── aula-07-sbst-lab/                 # SBST laboratório
├── aula-08-refatoracao-busca/        # Refatoração automatizada
├── aula-09-fairness-testing-ml/      # Fairness em IA
├── aula-10-fairness-testing-lab/     # Laboratório fairness
├── aula-11-otimizacao-hiperparametros-prompts/ # Otimização IA
├── aula-12-projeto-final-especificacao/        # Projeto final
├── aula-13-otimizacao-multi-objetivo-pymoo/    # Multi-objetivo
├── aula-14-etica-lado-sombrio-otimizacao/      # Ética em SBSE
└── aula-15-16-projeto-final-desenvolvimento/   # Desenvolvimento

Para Educadores

Cada aula contém:

Para Estudantes

  1. Pré-requisitos: Python intermediário, conhecimento básico de ML

  2. Setup: Instale as dependências com pip install -r requirements.txt

  3. Execução: Execute os notebooks em ordem sequencial

  4. Projeto: Desenvolva um projeto que integre SBSE + IA

📖 Bibliografia Essencial

Livros Fundamentais

Artigos Seminais

Recursos Modernos (SBSE + IA)

🤝 Contribuições

Este é um projeto educacional aberto. Contribuições são bem-vindas!

Como Contribuir

  1. Fork este repositório

  2. Crie uma branch para sua feature (git checkout -b feature/nova-aula)

  3. Commit suas mudanças (git commit -am 'Adiciona nova aula sobre topic X')

  4. Push para a branch (git push origin feature/nova-aula)

  5. Abra um Pull Request

Tipos de Contribuições

📜 Licença e Reúso

Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

Reúso do Material

Este material foi desenvolvido como uma evolução moderna dos fundamentos clássicos de SBSE, integrando as mais recentes técnicas de IA:

Inspirações e Referências:

Política de Uso:

📞 Contato e Suporte

Autor Principal: Prof. Dr. Jackson Antonio do Prado Lima
Email: jacksonpradolima@gmail.com
GitHub: @jacksonpradolima

Para Dúvidas:


🌟 Agradecimentos

Agradecimentos especiais à comunidade internacional de SBSE e aos pioneiros que tornaram possível esta disciplina inovadora. Este curso representa um marco na educação em otimização de software, combinando tradição acadêmica com inovação tecnológica.

“Na interseção entre otimização clássica e inteligência artificial moderna, descobrimos novas fronteiras para resolver os problemas mais complexos da engenharia de software.”


🚀 Transformando Problemas Complexos em Soluções Otimizadas com IA 🤖