FC ConcursosFC Concursos

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.

  1. A análise estática é realizada durante a execução do software, enquanto a análise dinâmica é feita antes do software ser executado.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Continue aprendendo