Questão FC405967
Análise de Software ou Análise de Código é o processo de examinar o código fonte de um software para identificar e corrigir problemas, melhorar a qualidade e garantir que o código
Questões sem classificação de assunto (TI - Engenharia de Software)
FGV · 2024
Análise de Software ou Análise de Código é o processo de examinar o código fonte de um software para identificar e corrigir problemas, melhorar a qualidade e garantir que o código esteja alinhado com os requisitos e padrões estabelecidos. Duas das principais formas de se realizar Análise de Software é por meio da análise estática e da análise dinâmica. Assinale a opção que melhor descreve a diferença fundamental entre análise estática e análise dinâmica de software.
- A análise estática é realizada durante a execução do software, enquanto a análise dinâmica é feita antes do software ser executado.
- A análise estática examina o código fonte e a estrutura do software sem executá-lo, enquanto a análise dinâmica envolve a execução do software e a observação do comportamento em tempo real.
- A análise estática é usada para medir o desempenho do software, enquanto a análise dinâmica é usada para revisar a arquitetura do sistema.
- A análise estática é aplicada somente a softwares desenvolvidos em linguagens de programação de baixo nível, enquanto a análise dinâmica é usada para todos os tipos de linguagens.
- A análise estática foca na identificação de erros de tempo de execução, enquanto a análise dinâmica detecta erros de compilação.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A diferença central é que a análise estática inspeciona o código‑fonte e a estrutura do programa sem executá‑lo, enquanto a análise dinâmica envolve a execução do software e a observação de seu comportamento em tempo de execução.
Na prática, a análise estática usa ferramentas (linters, verificadores formais, SAST) para detectar erros de sintaxe, violações de estilo, inconsistências de tipo, caminhos não alcançáveis e certas vulnerabilidades antes do run‑time, permitindo correções precoces.
Já a análise dinâmica (testes automatizados, profiling, depuração) revela problemas dependentes do ambiente e da execução — como vazamentos de memória, condições de corrida, falhas de integração e desempenho — que só aparecem quando o código está em execução.
Portanto, tratam‑se de abordagens complementares: a primeira examina sem rodar; a segunda observa o comportamento real ao rodar.
Conteúdo do catálogo FC Concursos · Atualizado em