Framework de Teste de Mutação Semântica para Auditoria da Capacidade Diagnóstica de Cenários WOKDEX

Operadores de mutação pedagógica e assintótica em AST para auditar a sensibilidade dos cenários FUNCTIONAL, MISCONCEPTION e PERFORMANCE

[object Object]
Análise de Resultados com IA
IA e Curadoria Educacional
Sem CEP
Data de Publicação

14/11/2026

Data de Modificação

14/11/2026

Código: TCC 06 · Trilha: Trilha 2: IA e Ciência de Dados · Status: Disponível · Modalidade: Ferramenta + Auditoria Experimental · Perfil: Individual · Complexidade: Média · Regime Ético: Sem CEP (Computacional)

1. Contexto e Problema

Quando um autor cria cenários MISCONCEPTION ou FUNCTIONAL em um pacote WOKDEX, não existe garantia automática de que esses casos de teste realmente distinguem o erro conceitual pretendido de códigos corretos ou de outros erros próximos. Na Engenharia de Software, Testes de Mutação medem a qualidade de suítes de testes injetando defeitos controlados; porém, ferramentas tradicionais operam apenas com mutantes sintáticos genéricos, sem gerar mutantes pedagógicos e assintóticos (por exemplo: divisão inteira no lugar de real, erro off-by-one em laço, troca de complexidade \(O(n \log n)\) por \(O(n^2)\)).

Além disso, o Fluxo A da avaliação experimental da tese (cap06-avaliacao-experimental.tex) demanda sondas de erro independentes que não sejam geradas pelo mesmo mecanismo dos cenários testados.

2. O que será feito (Objetivos Técnicos e Escopo)

  1. Projetar um catálogo de operadores de mutação pedagógica e de desempenho para C/C++ e Python alinhados às categorias do WOKDEX (FUNCTIONAL, MISCONCEPTION, PERFORMANCE);
  2. Desenvolver uma ferramenta automatizada (wok-mutate) que gere mutantes válidos (compiláveis e semanticamente distintos da referência) sobre as soluções canônicas do Corpus WOKDEX;
  3. Executar os mutantes contra os cenários dos pacotes para computar o Mutation Diagnostic Score (quantos mutantes são detectados na categoria correta vs. falso positivo/abstenção);
  4. Identificar lacunas nos conjuntos de testes existentes e propor novos casos de borda baseados nos mutantes sobreviventes.

3. Perguntas para você refletir

Se você se identifica com as questões abaixo, este tema pode ser uma boa escolha:

  • Quais mutações em AST capturam fielmente os erros conceituais mais frequentes de estudantes de CS1/CS2 sem gerar apenas mutantes equivalentes ou não compiláveis?
  • Quando um mutante “sobrevive” (passa nos cenários errados ou recebe AC), o que isso revela sobre a qualidade do pacote de testes do exercício?
  • Como automatizar a execução de centenas de mutantes de forma rápida e determinística contra o motor WOKDEX?

4. Divisão Sugerida (TCC 1 e TCC 2)

  • TCC 1: Fundamentação em Mutation Testing aplicado à educação, taxonomia de operadores de mutação pedagógica e protótipo de AST mutator (ast, tree-sitter ou libclang).
  • TCC 2: Execução em larga escala sobre os 45+ problemas do Corpus WOKDEX, análise dos mutantes sobreviventes e validação da melhoria da suíte de testes.

5. Entregáveis e Métricas de Avaliação

6. Pré-requisitos e Tecnologias Sugeridas

  • Base necessária: programação em Python e/ou C++, Estruturas de Dados e noções de compiladores/AST.
  • Tecnologias e conceitos envolvidos: ast (Python), tree-sitter ou libclang, Engenharia de Testes (Mutation Testing), automação CLI.

7. Origem e Ponto de Partida

  • Origem na pesquisa WOKDEX:
    • apendices/extensao/propostas/planos_trabalho_pibic.md (uso de programas mutantes nos Editais 73 e 74 para auditar diagnósticos);
    • cap06-avaliacao-experimental.tex (Fluxo A — sondas de erro independentes);
    • cap01-introducao.tex e cap08-consideracoes-qualificacao.tex (validade e cobertura de FUNCTIONAL, MISCONCEPTION e PERFORMANCE).
  • Consulte também o guia de Metodologia e Ética.

8. Como demonstrar interesse

Antes de agendarmos uma conversa, prepare respostas curtas para:

  1. Por que esse tema chamou sua atenção?
  2. Você prefere focar operadores para Python (ast), C/C++ (libclang/tree-sitter) ou ambos?
  3. Qual sua disponibilidade semanal estimada para o TCC?
De volta ao topo