Gráfico de PVS-Studio de desenvolvimento de habilidades de diagnóstico

Maturação

Mais de 8 anos se passaram desde que o produto PVS-Studio foi lançado e, durante todo esse tempo, implementamos novas regras de diagnóstico. Além disso, não vamos parar. Se você se preocupa se perdemos a vivacidade ao longo dos anos e se o PVS-Studio para de se desenvolver, o gráfico fornecido no artigo retira esse problema da mesa. O analisador está se desenvolvendo ativamente e a velocidade do desenvolvimento só aumenta ao longo dos anos.

No momento da redação deste artigo, o PVS-Studio implementou 669 diagnósticos ; Além disso, muitos deles são abrangentes. Por exemplo, não vemos sentido em perseguir a quantidade e criar dois diagnósticos separados para esses casos: a condição é sempre falsa, a condição é sempre verdadeira. Alguém faz o mesmo, alguém divide esses diagnósticos por alguns. Por exemplo, você pode encontrar ferramentas nas quais esses diagnósticos são divididos: sempre expressão booleana falsa, um ponteiro zero é usado como condição e outros. Portanto, o número de diagnósticos em si não significa nada e, especialmente, não vale a pena comparar diferentes analisadores, baseando-se no número de diagnósticos. O que é realmente interessante é ver como o analisador PVS-Studio vem se desenvolvendo com o tempo. Para isso, decidi construir uma linha do tempo da nova emergência de diagnóstico.

Era muito mais fácil ter uma ideia com um gráfico do que implementá-la. Não tínhamos um gráfico de quantos diagnósticos havia em várias versões do PVS-Studio. De alguma forma, ninguém jamais pensou em começar a escrever esses números. Eu tive que aplicar engenhosidade e trabalho duro.

Temos uma lista de todas as alterações que ocorreram nas versões do PVS-Studio. Incluindo, diagnósticos adicionais estão listados lá. Pedi ao meu colega Nastya que realizasse um estudo arqueológico da lista de alterações e anote as datas de lançamento, bem como o número de diagnósticos adicionados. Uma tarefa simples, mas cuidadosa. Nastya, obrigado por sua ajuda. Então, abaixo, você pode ver o gráfico que obtivemos.



Existem duas explosões no gráfico. A primeira vaga remonta ao final de 2015 - início de 2016 e está relacionada à adição do suporte ao idioma. O segundo período remonta ao final de 2018 e início de 2019 e está relacionado à implementação do suporte à linguagem Java, bem como ao início do trabalho no suporte padrão MISRA.

De fato, agora o terceiro pico começa a se formar, o que ainda não é visível no gráfico. Após a primeira parte do diagnóstico MISRA, fizemos uma pequena pausa e agora voltamos a avançar nessa direção. Portanto, o gráfico deve mostrar uma nova onda de atividade, a partir de meados de 2019.

O gráfico mostra que o desenvolvimento do analisador PVS-Studio está progredindo em um ritmo acelerado. Além disso, o desenvolvimento foi bastante linear antes do final de 2015, depois que os "saltos" começaram a surgir. Devido a esses "saltos", o gráfico começou a adquirir uma aparência não linear e, talvez, no futuro, possa ser interpolado por uma parábola.

Como você pode ver, estamos cheios de força e entusiasmo para desenvolver o analisador de código PVS-Studio, oferecer suporte a novas versões de compiladores, adaptar plug-ins às novas versões do Visual Studio / SonarQube / IntelliJ IDEA. Use o PVS-Studio para tornar seu código mais seguro, melhor e mais seguro.

Source: https://habr.com/ru/post/pt456384/


All Articles