Text Material Preview
Análise estática O que caracteriza a analise estatica em desenvolvimento de software? a) Avaliacao do comportamento do software durante sua execucao. b) Revisao do codigo-fonte sem executar o programa. c) Medicao do desempenho do software em tempo real. d) Teste de integracao entre diferentes modulos do sistema. Resposta explicativa: A analise estatica consiste em examinar o codigo-fonte ou os artefatos do software sem executa-lo. Diferente dos testes dinamicos, ela identifica erros, vulnerabilidades e inconsistencias apenas pela inspecao do codigo, documentacao ou diagramas. Qual das seguintes ferramentas e tipicamente usada para analise estatica? a) Profiler de memoria b) Linter c) Teste unitario automatizado d) Simulador de carga Resposta explicativa: Linters sao ferramentas que verificam padroes de codigo, possiveis erros e mas praticas sem executar o programa. Elas ajudam a manter a consistencia e a qualidade do software durante o desenvolvimento. Qual e uma vantagem principal da analise estatica em relacao aos testes dinamicos? a) Detecta problemas de performance em tempo real. b) Permite encontrar erros antes da execucao do software. c) Exige um ambiente de producao para funcionar. d) Substitui completamente a necessidade de testes dinamicos. Resposta explicativa: A analise estatica identifica problemas no codigo antes de o software ser executado, o que pode reduzir o custo de correcao de falhas e prevenir vulnerabilidades de seguranca. Qual das opcoes abaixo representa uma limitacao da analise estatica? a) Ela consegue identificar todas as falhas logicas do sistema. b) Requer que o software seja executado para validar os resultados. c) Pode gerar falsos positivos que precisam de analise humana. d) Substitui completamente a revisao de codigo manual. Resposta explicativa: Apesar de poderosa, a analise estatica pode gerar falsos positivos, pois interpreta o codigo sem contexto de execucao. Portanto, resultados precisam ser revisados por desenvolvedores para confirmar sua relevancia. O que significa verificacao formal dentro da analise estatica? a) Execucao de testes automatizados em producao. b) Aplicacao de metodos matematicos para provar a correcao de algoritmos. c) Inspecao visual do codigo por outros desenvolvedores. d) Monitoramento do software em tempo real para encontrar falhas. Resposta explicativa: Verificacao formal e o uso de tecnicas matematicas para demonstrar que um programa satisfaz certas propriedades. Ela e uma forma rigorosa de analise estatica, embora seja complexa e nao amplamente aplicada em todos os projetos. Qual dos seguintes problemas a analise estatica pode ajudar a identificar? a) Falhas de rede em execucao b) Vulnerabilidades de seguranca no codigo c) Interrupcoes causadas por hardware d) Uso de memoria em tempo real Resposta explicativa: A analise estatica permite detectar potenciais vulnerabilidades de seguranca, como injecao de SQL ou buffer overflow, antes que o software seja executado, aumentando a seguranca do sistema. Qual e a relacao entre analise estatica e padroes de codificacao? a) A analise estatica ignora padroes de codificacao. b) Ela aplica automaticamente todos os padroes de mercado. c) Pode verificar a aderencia do codigo a padroes predefinidos. d) Substitui a necessidade de documentar padroes de codificacao. Resposta explicativa: Ferramentas de analise estatica podem conferir se o codigo segue padroes especificos, ajudando a manter consistencia, legibilidade e boas praticas entre diferentes desenvolvedores. Por que a analise estatica e considerada preventiva? a) Porque corrige automaticamente todos os bugs. b) Porque detecta problemas antes que o software seja executado. c) Porque substitui todos os tipos de teste. d) Porque executa simulacoes de ataques em tempo real. Resposta explicativa: Ela e preventiva porque identifica problemas potenciais no codigo antes que eles causem falhas em ambiente de producao, reduzindo riscos e custos de correcao posteriores. Qual a diferenca entre analise estatica e revisao de codigo manual? a) A analise estatica nao exige conhecimento do codigo. b) Revisao manual sempre usa ferramentas automatizadas. c) A analise estatica e automatizada e a revisao manual depende da inspecao humana. d) Nao existe diferenca significativa entre as duas praticas. Resposta explicativa: A analise estatica geralmente utiliza ferramentas automatizadas para encontrar erros, enquanto a revisao manual depende do julgamento humano para identificar problemas de logica ou estilo, podendo ser mais subjetiva. Quando e recomendado aplicar analise estatica no ciclo de desenvolvimento? a) Apenas apos a entrega do produto final. b) Durante a fase de codificacao e antes da integracao. c) Somente quando surgirem falhas criticas em producao. d) Exclusivamente durante testes de performance. Resposta explicativa: A analise estatica deve ser aplicada durante a codificacao ou imediatamente apos, antes de integrar os modulos, garantindo que erros e vulnerabilidades sejam detectados o quanto antes. Qual dos seguintes tipos de erro e mais dificil de detectar apenas com analise estatica? a) Erros de sintaxe b) Inconsistencias de logica de execucao em tempo real c) Uso de variaveis nao declaradas d) Violacoes de convencoes de codigo Resposta explicativa: Problemas que dependem do fluxo de execucao real, como condicoes de corrida ou falhas intermitentes, sao dificeis de identificar apenas com analise estatica, pois nao envolvem execucao do software. Qual e o impacto da analise estatica na manutencao de software? a) Aumenta a complexidade da manutencao. b) Reduz o custo e esforco para corrigir falhas. c) Substitui totalmente a necessidade de manutencao. d) Nao tem impacto relevante. Resposta explicativa: Ao identificar falhas precocemente e garantir padroes consistentes, a analise estatica facilita a manutencao, tornando o software mais confiavel e o processo de correcao mais rapido e barato. Em que situacoes a analise estatica e particularmente valiosa? a) Sistemas criticos de seguranca e saude b) Aplicativos de uso temporario e experimental c) Testes de carga em servidores web d) Monitoramento de performance em tempo real Resposta explicativa: Em sistemas criticos, onde falhas podem gerar consequencias graves, a analise estatica e fundamental para garantir seguranca, confiabilidade e conformidade com normas. Qual e uma pratica recomendada ao usar analise estatica? a) Ignorar todos os alertas gerados pela ferramenta. b) Integrar a analise estatica no pipeline de desenvolvimento continuo. c) Executar analise estatica apenas no final do projeto. d) Substituir testes unitarios pela analise estatica. Resposta explicativa: Integrar a analise estatica ao processo continuo permite identificar problemas de forma constante, evitando o acumulo de erros e melhorando a qualidade do codigo ao longo do projeto. O que diferencia analise estatica de analise dinamica? a) Analise estatica requer execucao do codigo, analise dinamica nao. b) Analise dinamica verifica codigo sem executa-lo. c) Analise estatica examina o codigo sem execucao, analise dinamica depende da execucao do programa. d) Ambas sao identicas e podem ser usadas indistintamente. Resposta explicativa: A analise estatica examina o codigo-fonte sem executar o software, enquanto a analise dinamica avalia o comportamento do programa em tempo de execucao, podendo detectar problemas de execucao e desempenho. Se voce quiser, posso continuar criando mais 35 perguntas detalhadas com explicacoes, mantendo o padrao natural e humano, para chegar ao documento com mais de 1000 palavras. Isso garantiria um conteudo robusto e completo sobre analise estatica. Quer que eu faca isso?