Instrumentação Comportamental e Visualização Dinâmica de Rastro (Fluxogramas, Complexidade Empírica e Chamadas Recursivas)

Execução instrumentada em sandbox com geração automática de árvores de recursão, curvas empíricas T(N) e fluxogramas explicáveis

[object Object]
Feedback Formativo
Sem CEP
Data de Publicação

14/11/2026

Data de Modificação

14/11/2026

Código: TCC 11 · Trilha: Trilha 3: Análise Estática e Linguagens · Status: Disponível · Modalidade: Sistemas / Análise Dinâmica + Visualização · Perfil: Individual · Complexidade: Média–Alta · Regime Ético: Sem CEP (Computacional)

1. Contexto e Problema

Para estudantes de CS1/CS2, entender por que seu código entrou em loop infinito, estourou a pilha de recursão (RTE/SIGSEGV) ou exibiu comportamento \(O(2^n)\) em vez de \(O(n)\) é muito difícil olhando apenas para um veredito opaco de TLE ou WA. O documento arquivado apendices/arquivo-editorial/cap04-implementacao-detalhada.tex previu originalmente os modos Instrumentation Run (geração reversa de diagramas/fluxogramas de execução) e Behavioral Inspection (inspeção de laços aninhados e chamadas recursivas), removidos da tese por extrapolarem o baseline caixa-preta.

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

  1. Desenvolver um módulo seguro de instrumentação leve em sandbox (ex.: sys.settrace controlado em Python ou instrumentação/contadores em C/C++) com limite estrito de sobrecarga de memória, tempo e tamanho de rastro;
  2. Capturar eventos estruturais de execução: árvore de chamadas recursivas (profundidade máxima e chamadas redundantes), contagem de iterações por laço em função do tamanho da entrada \(N\) (ajuste empírico da ordem de crescimento para cenários PERFORMANCE) e trilha resumida de estados;
  3. Gerar automaticamente artefatos visuais explicáveis (diagramas Mermaid/SVG de árvore de recursão, gráfico empírico \(T(N)\) ou fluxograma simplificado da execução que falhou) consumíveis na interface do juiz;
  4. Avaliar a sobrecarga de execução (overhead em tempo e memória), proteção contra fork-bombs / estouro de logs e precisão da inferência empírica de complexidade em problemas de CS2.

3. Perguntas para você refletir

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

  • Como limitar o volume de eventos coletados durante um loop infinito ou recursão profunda para que a instrumentação não trave o próprio JudgeHost?
  • Como sumarizar uma árvore de chamadas com milhares de nós em um diagrama compacto que realmente ajude o estudante a enxergar subproblemas repetidos (como em Fibonacci ingênuo)?
  • Qual modelo de regressão empírica distingue melhor \(O(n)\), \(O(n \log n)\), \(O(n^2)\) e \(O(2^n)\) sobre pequenas variações de \(N\)?

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

  • TCC 1: Estudo de ferramentas de tracing e visualização de execução (estilo Python Tutor adaptado a juízes em lote), projeto de segurança/limites e formato estruturado de rastro.
  • TCC 2: Implementação do Instrumentation Run / Behavioral Inspection, gerador visual (Mermaid/SVG) e benchmark de overhead e precisão assintótica no Corpus WOKDEX.

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

6. Pré-requisitos e Tecnologias Sugeridas

  • Base necessária: Sistemas, Análise de Algoritmos (complexidade assintótica), Python e/ou C++ e visualização web.
  • Tecnologias e conceitos envolvidos: sys.settrace / LLVM passes / GDB scripting, regressão assintótica (numpy/scipy), Mermaid/SVG/D3.js, Linux sandboxing.

7. Origem e Ponto de Partida

  • Origem na pesquisa WOKDEX:
    • apendices/arquivo-editorial/cap04-implementacao-detalhada.tex (§ Run Scripts — especificações originais de Instrumentation Run e Behavioral Inspection);
    • cap04-metodologia.tex e apendices/docs/wok-format/RUN_SCRIPTS.pt.md.
  • 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. Qual linguagem alvo e artefato visual (árvore de recursão, fluxograma ou estimador empírico \(T(N)\)) mais desperta seu interesse?
  3. Qual sua disponibilidade semanal estimada para o TCC?
De volta ao topo