Logo Passei Direto

Análise estática

Ferramentas de estudo

Solved questions

Material
Study with thousands of resources!

Solved questions

Text Material Preview

Análise estática 
Qual e o principal objetivo da analise estatica em programacao?
a) Verificar a logica do codigo
b) Identificar problemas de desempenho em tempo de execucao
c) Detectar erros antes da execucao do codigo
d) Garantir a seguranca de redes de computadores
Resposta correta: c) Detectar erros antes da execucao do codigo. A analise estatica tem como
principal objetivo verificar o codigo sem executa-lo, identificando possiveis falhas, erros de sintaxe e
outros problemas que podem ser corrigidos antes da execucao.
Qual das seguintes ferramentas e um exemplo de ferramenta de analise estatica?
a) JUnit
b) SonarQube
c) JProfiler
d) Wireshark
Resposta correta: b) SonarQube. O SonarQube e uma ferramenta amplamente usada para analise
estatica de codigo, permitindo identificar problemas de qualidade, bugs e vulnerabilidades no
codigo sem a necessidade de executa-lo.
O que a analise estatica nao pode identificar?
a) Erros de sintaxe
b) Possiveis excecoes durante a execucao
c) Falhas de seguranca no codigo
d) Deficiencia na documentacao do codigo
Resposta correta: b) Possiveis excecoes durante a execucao. A analise estatica foca em identificar
erros no codigo sem roda-lo, mas nao consegue prever comportamentos que so surgem quando o
programa e executado, como excecoes dinamicas.
Como a analise estatica pode ajudar na manutencao do codigo?
a) Otimizando o desempenho do codigo em tempo de execucao
b) Facilitando a refatoracao ao identificar trechos problematicos
c) Reduzindo o uso de memoria durante a execucao
d) Impedindo a execucao do codigo com erros criticos
Resposta correta: b) Facilitando a refatoracao ao identificar trechos problematicos. A analise
estatica ajuda a identificar areas do codigo que precisam de melhorias, tornando mais facil a
refatoracao e a manutencao do codigo a longo prazo.
Qual dessas tecnicas e comumente utilizada na analise estatica para encontrar erros no codigo?
a) Analise de desempenho
b) Analise de fluxo de dados
c) Testes de integracao
d) Monitoramento de rede
Resposta correta: b) Analise de fluxo de dados. A analise de fluxo de dados e uma tecnica que
examina como as variaveis sao manipuladas ao longo do codigo, identificando possiveis problemas
como variaveis nao inicializadas ou valores inesperados.
Qual e a principal vantagem da analise estatica em relacao a analise dinamica?
a) Permite encontrar erros em tempo de execucao
b) Identifica problemas de codigo sem a necessidade de execucao
c) Fornece uma visao detalhada do comportamento do codigo
d) Garante que o codigo seja livre de falhas de seguranca
Resposta correta: b) Identifica problemas de codigo sem a necessidade de execucao. A principal
vantagem da analise estatica e que ela permite identificar erros antes da execucao do programa, o
que pode acelerar o processo de desenvolvimento e reduzir custos com testes e depuracao.
Em qual das seguintes situacoes a analise estatica e mais util?
a) Quando o codigo ja esta rodando e precisa de otimizacoes de performance
b) Durante a fase de desenvolvimento para detectar erros cedo
c) Ao realizar testes de integracao entre sistemas
d) Quando e necessario garantir a compatibilidade entre diferentes plataformas
Resposta correta: b) Durante a fase de desenvolvimento para detectar erros cedo. A analise
estatica e particularmente util quando o codigo ainda esta em desenvolvimento, pois permite que os
desenvolvedores identifiquem e corrijam problemas de forma precoce.
O que significa a analise de "complexidade ciclomatica" em analise estatica?
a) Avaliar a legibilidade do codigo
b) Medir a quantidade de ramificacoes e decisoes logicas no codigo
c) Determinar o numero de variaveis utilizadas no codigo
d) Analisar a estrutura de dados utilizada pelo codigo
Resposta correta: b) Medir a quantidade de ramificacoes e decisoes logicas no codigo. A
complexidade ciclomatica e uma metrica que calcula o numero de caminhos lineares independentes
em um codigo, ajudando a medir a complexidade e a testar a cobertura de testes.
Qual e a principal diferenca entre analise estatica e analise dinamica?
a) A analise estatica examina o codigo sem executa-lo, enquanto a analise dinamica requer
execucao
b) A analise dinamica e feita somente para codigo escrito em Java
c) A analise estatica identifica erros que ocorrem apenas em tempo de execucao
d) A analise estatica e mais lenta do que a analise dinamica
Resposta correta: a) A analise estatica examina o codigo sem executa-lo, enquanto a analise
dinamica requer execucao. A analise estatica e feita sem rodar o programa, enquanto a analise
dinamica observa o comportamento do codigo durante a execucao.
Qual dos seguintes aspectos a analise estatica pode identificar no codigo?
a) Leitura de entradas do usuario
b) Interacao com outros sistemas
c) Problemas de seguranca como injecao de SQL
d) Tempo de resposta de funcoes
Resposta correta: c) Problemas de seguranca como injecao de SQL. A analise estatica pode
detectar vulnerabilidades de seguranca, como injecao de SQL, ao examinar padroes no codigo sem
precisar executa-lo.
Quando a analise estatica e aplicada em projetos grandes, qual e um dos principais desafios?
a) A alta taxa de falsos positivos nos resultados
b) A necessidade de testes em ambientes distintos
c) A dificuldade de avaliar a complexidade do codigo
d) A impossibilidade de realizar testes unitarios
Resposta correta: a) A alta taxa de falsos positivos nos resultados. Em projetos grandes, uma das
dificuldades da analise estatica e que ela pode gerar muitos falsos positivos, indicando problemas
que, na pratica, nao causam falhas.
O que e a tecnica de "linters" na analise estatica?
a) Ferramenta para medir a performance de sistemas
b) Sistema de monitoramento de codigo durante a execucao
c) Programa que verifica o codigo em busca de padroes e erros simples
d) Metodo para realizar testes de carga no codigo
Resposta correta: c) Programa que verifica o codigo em busca de padroes e erros simples. Linters
sao ferramentas de analise estatica que ajudam a identificar problemas de estilo e erros comuns no
codigo, como variaveis nao utilizadas ou formatacao inadequada.
Em qual situacao a analise estatica pode nao ser a melhor escolha?
a) Quando se deseja verificar a performance do codigo
b) Durante a escrita de codigo, para garantir sua funcionalidade
c) Para detectar erros de sintaxe
d) Na deteccao de falhas de seguranca em sistemas simples
Resposta correta: a) Quando se deseja verificar a performance do codigo. A analise estatica nao e
adequada para avaliar a performance do codigo, pois nao executa o programa. A analise dinamica
e mais indicada para esse tipo de avaliacao.
A analise estatica pode ser usada para garantir a conformidade com quais tipos de padroes?
a) Padroes de seguranca e de codificacao
b) Padroes de hardware
c) Padroes de design de interface grafica
d) Padroes de teste de unidade
Resposta correta: a) Padroes de seguranca e de codificacao. A analise estatica pode ser usada
para verificar se o codigo segue boas praticas de seguranca e padroes de codificacao, como evitar
praticas vulneraveis ou garantir uma estrutura clara e consistente.
Qual e o impacto da analise estatica na qualidade do codigo a longo prazo?
a) Reduz a quantidade de testes necessarios
b) Aumenta a quantidade de bugs durante a execucao
c) Melhora a legibilidade e a manutencao do codigo
d) Diminui a quantidade de codigo necessario
Resposta correta: c) Melhora a legibilidade e a manutencao do codigo. Ao identificar erros e
padroes ruins de codificacao precocemente, a analise estatica ajuda a melhorar a qualidade geral
do codigo, facilitando a manutencao e a evolucao do sistema.