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.