Definição – o que significa a análise do código-fonte?
A análise do código-fonte é o teste automatizado do código-fonte de um programa com o objetivo de encontrar falhas e corrigi-las antes que o aplicativo seja vendido ou distribuído.
A análise do código-fonte é sinônimo de análise estática do código, onde o código-fonte é analisado simplesmente como código e o programa não está sendo executado. Isso elimina a necessidade de criar e usar casos de teste e pode separar-se de bugs específicos de recursos, como botões de cor diferente do que dizem as especificações. Ele se concentra em encontrar falhas no programa que podem ser prejudiciais ao seu funcionamento adequado, como linhas de código que causam falhas.
Definirtec explica a análise do código-fonte
A análise do código-fonte é basicamente uma depuração de código automatizada. O objetivo é encontrar bugs e falhas que podem não ser óbvios para um programador. Destina-se a encontrar falhas como possíveis estouros de buffer ou uso desordenado de ponteiros e uso indevido de funções de coleta de lixo, todos os quais podem ser explorados por um hacker.
Os analisadores de código funcionam usando regras que indicam o que procurar. Com muito pouca precisão, um analisador pode lançar muitos falsos positivos e inundar o usuário com avisos inúteis, enquanto muita precisão pode levar muito tempo para terminar; portanto, tem que haver um equilíbrio.
Existem dois tipos de analisadores:
- Interprocedural – detecta padrões de uma função para a próxima, e esses padrões são correlacionados para que o analisador possa criar um modelo e simular caminhos de execução.
- Intraprocedural – Concentra-se na correspondência de padrões e depende dos tipos de padrões que o usuário está procurando.
Os analisadores interpretativos são mais modernos e mais complexos. Bons exemplos disso são Coverity, Fortify e a ferramenta centralizada da própria Microsoft, PREfix.