Plus de 8 ans se sont écoulés depuis la sortie du produit PVS-Studio, et pendant tout ce temps, nous y avons implémenté de nouvelles règles de diagnostic. De plus, nous n'allons pas nous arrêter. Si vous vous demandez si nous avons perdu notre vivacité au fil des ans et si PVS-Studio arrête de se développer, le graphique donné dans l'article retirera ce problème de la table. L'analyseur se développe activement et la vitesse de développement ne fait qu'augmenter au fil des ans.
Au moment de la rédaction de ce rapport, PVS-Studio avait implémenté 669
diagnostics ; en outre, nombre d'entre elles sont complètes. Par exemple, nous ne voyons aucun intérêt à rechercher la quantité et à créer deux diagnostics distincts pour ces cas: la condition est toujours fausse, la condition est toujours vraie. Quelqu'un fait de même, quelqu'un divise ces diagnostics par quelques-uns. Par exemple, vous pouvez trouver des outils dans lesquels ces diagnostics sont divisés: toujours une expression booléenne fausse, un pointeur zéro est utilisé comme condition et d'autres. Par conséquent, le nombre de diagnostics en soi ne signifie rien, et surtout il n'est pas digne de comparer différents analyseurs, en s'appuyant sur le nombre de diagnostics. Ce qui est réellement intéressant, c'est de voir comment l'analyseur PVS-Studio s'est développé au fil du temps. Pour cela, j'ai décidé de construire une chronologie de l'émergence du nouveau diagnostic.
Il était beaucoup plus facile de trouver une idée avec un graphique que de la mettre en œuvre. Nous n'avions pas de graphique du nombre de diagnostics dans les différentes versions de PVS-Studio. D'une manière ou d'une autre, personne n'a jamais pensé à commencer à écrire ces chiffres. J'ai dû faire preuve d'ingéniosité et de dur labeur.
Nous avons une
liste de toutes les modifications qui ont eu lieu dans les versions de PVS-Studio. Y compris, les diagnostics ajoutés y sont répertoriés. J'ai demandé à ma collègue Nastya de mener une étude archéologique de la liste des modifications et de noter les dates de publication, ainsi que le nombre de diagnostics ajoutés. Une tâche simple mais minutieuse. Nastya, merci pour votre aide. Donc, ci-dessous, vous pouvez voir le graphique que nous avons obtenu.
Il y a deux rafales sur le graphique. La première vague remonte à fin 2015 - début 2016, et est liée à l'ajout du support linguistique. La deuxième vague remonte à la fin de 2018 et au début de 2019 et est liée à la mise en œuvre du support du langage Java, ainsi qu'au début des travaux sur le support standard MISRA.
En fait, maintenant le 3ème pic commence à se former, ce qui n'est pas encore visible sur le graphique. Après la première partie des diagnostics MISRA, nous avons pris une petite pause et nous nous sommes à nouveau lancés dans cette direction. Par conséquent, le graphique doit montrer une nouvelle poussée d'activité, à partir de la mi-2019.
Le graphique montre que le développement de l'analyseur PVS-Studio progresse à un rythme soutenu. De plus, le développement était assez linéaire avant la fin de 2015, après quoi les "sauts" ont commencé à émerger. En raison de ces «sauts», le graphique a commencé à acquérir une apparence non linéaire et, peut-être, à l'avenir, il pourra être interpolé par une parabole.
Comme vous pouvez le voir, nous sommes pleins de force et d'enthousiasme pour développer l'analyseur de code PVS-Studio, prendre en charge de nouvelles versions de compilateurs, adapter les plug-ins aux nouvelles versions de Visual Studio / SonarQube / IntelliJ IDEA. Utilisez PVS-Studio pour rendre votre code plus sûr, meilleur et plus sécurisé.