Tableau de développement de diagnostic dans PVS-Studio

Développement PVS-Studio

Plus de 8 ans se sont écoulés depuis l'apparition du produit PVS-Studio, et pendant tout ce temps, nous y avons implémenté de nouvelles règles de diagnostic. Et nous n'allons pas nous arrêter. Si vous êtes préoccupé par des questions, avons-nous perdu courage au fil des ans et avons-nous cessé de développer PVS-Studio, le tableau de l'article supprimera ces questions. L'analyseur se développe activement et le taux de développement ne fait qu'augmenter au fil des ans.

Au moment d'écrire ces lignes, PVS-Studio a implémenté 669 diagnostics , dont beaucoup sont complexes. Par exemple, nous ne voyons aucune raison de poursuivre la quantité et de créer deux diagnostics distincts pour les cas: la condition est toujours fausse, la condition est toujours vraie. Quelqu'un fait de même, quelqu'un divise ces diagnostics en plusieurs. Par exemple, vous pouvez trouver des outils dans lesquels ces diagnostics sont divisés: toujours une fausse expression booléenne, un pointeur nul est utilisé comme condition, etc. Le nombre de diagnostics en soi ne signifie donc rien et, de plus, cela ne vaut pas la peine de comparer différents analyseurs en fonction du nombre de diagnostics. Mais il est intéressant de voir comment l’analyseur PVS-Studio a évolué au fil du temps. Et pour cela, j'ai décidé de construire une chronologie pour l'apparition de nouveaux diagnostics.

Trouver une idée avec un calendrier était beaucoup plus facile que de mettre en œuvre. Nous n'avions pas de signe, combien de diagnostics étaient dans telle ou telle version de PVS-Studio. D'une manière ou d'une autre, même personne n'a jamais pensé commencer à écrire ces valeurs. J'ai dû utiliser l'ingéniosité et le travail acharné.

Notre site contient une liste de tous les changements survenus 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 recherche archéologique de la liste des changements et de noter les dates de sortie, ainsi que le nombre de diagnostics ajoutés. Une tâche simple mais minutieuse. Nastya, merci pour l'aide. Voici donc le calendrier qui en résulte.

Nombre de diagnostics


Sur le graphique, vous pouvez observer 2 rafales. La première vague remonte à la fin de 2015 - début 2016 et est associée à l'ajout du support du langage C #. La deuxième vague se réfère à la fin de 2018 - début 2019 et est associée à la mise en œuvre de la prise en charge du langage Java, ainsi qu'au début des travaux de prise en charge de la norme MISRA.

En fait, la troisième poussée commence à se former, ce qui n'est pas encore perceptible sur le graphique. Après le premier lot de diagnostics MISRA, nous avons fait une pause et nous sommes à nouveau activés dans ce sens. Par conséquent, une nouvelle poussée d'activité devrait apparaître sur le graphique à partir de la mi-2019.

Le graphique montre que le développement de l'analyseur PVS-Studio se déroule à un rythme soutenu. De plus, si fin 2015 le développement était très linéaire, alors des «sauts» ont commencé à apparaître. En raison de «sauts», le graphique a commencé à prendre une forme non linéaire et, éventuellement, à l'avenir, il sera possible de l'interpoler avec une parabole.

Comme vous pouvez le voir, nous sommes pleins d'énergie et d'enthousiasme pour développer l'analyseur de code PVS-Studio, prendre en charge de nouvelles versions de compilateurs, adapter les plugins aux dernières versions de Visual Studio / SonarQube / IntelliJ IDEA. Utilisez PVS-Studio et rendez votre code plus fiable, meilleur et plus sûr.



Si vous souhaitez partager cet article avec un public anglophone, veuillez utiliser le lien de traduction: Andrey Karpov, Anastasiya Mozaleva. PVS-Studio Graphique de développement des capacités de diagnostic .

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


All Articles