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
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)
- 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); - 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; - 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);
- 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-sitteroulibclang). - 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-sitteroulibclang, 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.texecap08-consideracoes-qualificacao.tex(validade e cobertura deFUNCTIONAL,MISCONCEPTIONePERFORMANCE).
- Consulte também o guia de Metodologia e Ética.
8. Como demonstrar interesse
Antes de agendarmos uma conversa, prepare respostas curtas para:
- Por que esse tema chamou sua atenção?
- Você prefere focar operadores para Python (
ast), C/C++ (libclang/tree-sitter) ou ambos? - Qual sua disponibilidade semanal estimada para o TCC?