Nous favorisons des technologies d'analyse statique, assistons les développeurs à améliorer la qualité, la sécurité et la sûreté du code source, et vous en parlons.
Conférences. Jusqu'à présent, nous avons plus de 175 exposés à conférences. Vous nous avez peut-être vus à CoreHard, DevGAMM, SECR et d'autres.
Regarder les vidéos de la conférence
Notre site. Nous traitons et affichons les résultats des analyses, nous parlons de l'expérience d'intégration, etc.
Les médias sociaux. Nous parlons de l'équipe et de l'entreprise, discutons des langues et même enseignons.
Ressources associées. Les auteurs parlent de nous sur Habr.com, Java Annotated Monthly et d'autres ressources.
L'idée de faire un analyseur pour la détection d'erreurs lors de la migration de code vers des systèmes 64 bits. À ce moment-là, les processeurs 64 bits, les systèmes d'exploitation Windows 64 bits et le premier compilateur C++ 64 bits pour Windows dans le cadre de Visual Studio 2005 faisaient leur apparition sur le marché. Pendant ce boom des changements 64 bits, nous avons voulu créer un outil qui deviendrait rapidement très populaire et nous rendrait riches. Mais nous n'avons pas pu pas. L'outil n'est pas devenu très populaire et le vrai gain est venu bien des années plus tard, après une longue série d'échecs et de succès.
La première version de Viva64 1.00 sur le web.
Nous avons développé un plugin pour Visual Studio 2008.
La création de Program Verification Systems SARL.
Version Viva64 2.00.
La première version bêta de VivaMP, l'analyseur qui recherche les problèmes dans les programmes multithreads, construits avec l'aide de la technologie OpenMP. Nous n'avons pas réussi à démarrer avec des erreurs 64 bits, mais nous avons vu que de nouveaux ordinateurs avec plusieurs noyaux ont commencé à apparaître sur le marché. Ils auraient probablement besoin d'un logiciel prenant en charge le travail parallèle. C'était notre chance !
Version VivaMP 1.00.
La version PVS-Studio 3.00, dans laquelle Viva64 et VivaMP sont combinés en un seul produit.
Le début du travail sur le support du standard C++11.
La version bêta de PVS-Studio 4.00 avec un nouvel ensemble de règles de diagnostic d'analyse générale (General Analysis, V501-V545). À l'origine, les nouveaux diagnostics étaient gratuits et ont été créés pour attirer l'attention sur les analyseurs de code 64 bits et OpenMP. Nous avons failli commettre une erreur fatale ici.
La version PVS-Studio 4.00, dans laquelle les diagnostics General Analysis sont devenus payants. Pourtant, nous n'avions pas fait notre erreur majeure. À partir de 2011, nous arrivions à une véritable compréhension de la façon dont notre outil pouvait être utile aux gens, comment le créer et, surtout, comment le commercialiser. Dans cette version, nous avons également réalisé les premières licences d'entreprise (Site License).
L'analyse incrémentale dans PVS-Studio 4.30. La possibilité d'exécuter l'analyseur automatiquement pour les fichiers qui viennent d'être modifiés ou recompilés. Cela a permis l'utilisation régulière de PVS-Studio sur les machines locales des développeurs et la fixation des bugs avant qu'ils n'apparaissent dans le système de versionnage.
Avec la version PVS-Studio 4.32, nous avons refusé l'utilisation d'une licence mono-utilisateur. Ce fut l'une des meilleures solutions commerciales de l'histoire de l'entreprise.
PVS-Studio 4.50 commence à utiliser non seulement Visual C++, mais aussi Clang pour le preprocessing (et uniquement pour cela !).
100 diagnostics de General Analysis (V501-V600) dans PVS-Studio 4.53.
Un nouveau mode d'évaluation dans PVS-Studio 4.54. La seule limitation était les clics (sauts aux fragments avec les erreurs), au lieu d'une limitation de l'affichage des erreurs.
Un nouvel ensemble de diagnostics dans PVS-Studio 4.60. "Micro-optimisations" pour rechercher des fragments où l'analyseur statique pourrait détecter une perte de performance.
L'intégration dans Embarcadero RAD Studio dans PVS-Studio 5.00. Nous avons pensé qu'il y avait beaucoup d'utilisateurs de C++Builder. Nous avons eu tort. Ou, peut-être que nous n'avons pas réussi à les atteindre.
PVS-Studio a pris en charge l'analyse de code en C++/CX.
L'application Standalone dans PVS-Studio 5.00.
CppCat 1.00. La version bon marché de l'analyseur, basée sur PVS-Studio. Nous l'avons appelé "la version de PVS-Studio pour 250$". L'idée était de faire l'analyseur de haute qualité à bas prix. Il était beaucoup moins cher. Nous espérions que plus de développeurs achèteraient et utiliseraient nos solutions. Nous avons même envisagé d'arrêter de développer PVS-Studio, que nous considérions comme un produit lourd et volumineux ayant une longue histoire, par opposition à un CppCat jeune et facile à utiliser, avec une interface simple et de grandes capacités.
PVS-Studio a pris en charge l'analyse du code C++/CLI.
CLMonitoring dans PVS-Studio 5.18. L'interception d'un appel de compilateur.
La possibilité d'effectuer mass suppression (baselining) des warnings inintéressants dans PVS-Studio 5.20. Cette fonctionnalité a considérablement simplifié le processus de mise en œuvre de l'analyseur dans le processus de développement.
Dans PVS-Studio 5.21 nous avons décidé de supprimer le support d'Embarcadero RAD Studio et des diagnostics OpenMP (les restes de l'analyseur VivaMP qui est mort bien avant d'être "enterré").
Le début du travail sur le support standard C++14.
Nous avons fermé le projet CppCat. Le monde n'a pas compris la valeur de notre idée. Nous n'avons vendu que quelques licences aux utilisateurs qui nous connaissaient grâce à PVS-Studio. En fait, nous avons perdu plusieurs de nos clients de PVS-Studio et nous avons dû les convaincre de revenir à PVS-Studio, ce qui a été difficile à faire. Le prix bas, l'interface simple et cool, même le logo du chat, n'ont pas aidé. (Les programmeurs sont censés aimer les chats, non ?) Ou alors, nous ne pouvons pas vendre des outils bon marché. C'était notre expérience d'un an et demi, et nous n'allons pas y revenir.
L'analyse de code statique pour le code C# dans PVS-Studio 6.00 (plus de 40 diagnostics).
Nous avons ajouté la version de ligne de commande PVS-Studio distincte (PVS-Studio_Cmd), qui prend en charge la vérification des projets vcxproj et csproj (C++ et C#).
Dans PVS-Studio 6.05, nous avons atteint le nombre de 100 diagnostics pour C# beaucoup plus rapidement que pour C++. Nous l'avons fait en 10 mois au lieu de 19, mais l'équipe C# était considérablement plus grande et nous utilisions Roslyn (son Code Analysis Framework, pour être précis). J'ai envie d'écrire : "Il y avait vraiment de grands programmeurs avant !" Mais à l'époque, nous ne pouvions pas estimer la complexité du produit et de son support et bien plus encore.
PVS-Studio ne prend plus en charge les systèmes d'exploitation 32 bits.
L'intégration avec SonarQube est disponible dans PVS-Studio.
PVS-Studio 6.10 obtient une version Linux. Bien que nous ayons essayé de l'éviter pendant tant d'années...
Unreal Engine 4.17 supportait PVS-Studio. À partir de cette version du moteur, vous pouvez exécuter l'analyse à partir d'Unreal Build Tool.
Nous avons ajouté l'intégration avec Jenkins.
Vous pouvez enregistrer les résultats de l'analyse au format HTML avec une navigation complète dans le code. Cela permet de travailler avec des rapports PVS-Studio sur des ordinateurs sans déploiement complet d'intégralité de la base de code.
Le début du travail sur le support standard C++17.
Nous avons ajouté le support pour CWE (Common Weakness Enumeration) et SEI CERT. Désormais, PVS-Studio est une solution SAST complète.
Dans PVS-Studio 6.22, nous avons ajouté le support des compilateurs pour les systèmes embarqués. Les développeurs qui utilisaient Keil et IAR, pouvaient être les premiers à essayer l'analyseur sur leurs projets. Nous avons également publié le support de GNU Arm Embedded Toolchain et Texas Instruments Code Composer Studio.
En 2018, l'analyseur de code statique PVS-Studio est devenu capable de classer ses warnings selon les normes MISRA C et MISRA C++. Grâce à la prise en charge de ces normes, il est devenu possible d'utiliser efficacement l'analyseur pour augmenter le niveau de sécurité, la portabilité et la fiabilité des programmes pour les systèmes embarqués.
Dans PVS-Studio 7.00, l'analyseur pour Java a fait son apparition. La première version comprenait déjà 66 diagnostics. L'analyseur n'a pas été créé à partir de zéro. Nous avons repris la logique de l'analyseur C++ pour en faire une bibliothèque séparée. Ensuite, nous l'avons utilisé avec l'analyseur Java. Ainsi, la première version de l'analyseur a adopté les meilleures pratiques issues de plus de dix ans d'expérience dans le développement d'analyseurs de code statiques. Nous avons créé des plugins pour Maven, Gradle, IntelliJ IDEA et SonarQube pour les utilisateurs. Vous pouvez exécuter l'analyseur sur trois plateformes : Windows, Linux et macOS.
2018 a été l'année de conférences pour nous. En tout, il y en a eu environ 23 cette année — c'est un record pour nous jusqu'à présent. À certaines d'entre elles, nous avons donné des conférences, créé des meetups et des ateliers. Parfois, nous avons tenu des stands ou écouté d'autres intervenants. Et parfois, nous avons fait tout cela à une seule conférence. Nous avons déjà eu l'occasion de participer à des événements de différents niveaux, mais pas de manière aussi active. Voici le lien avec une liste de conférences et de vidéos.
Sur toutes les plateformes, nous sommes passés à la même option d'essai : une demande de clé d'une semaine sur le site. Sans cette clé, le programme n'est pas entièrement fonctionnel. Lors des conférences, nous fournissons des clés temporaires pour un mois. En plus de quelques exécutions du programme, en un mois, une personne peut introduire l'outil dans le processus de développement pour voir comment le produit se comporte dans l'utilisation quotidienne.
Le début du travail sur le support du standard C++20.
Dans PVS-Studio 7.08, il est désormais possible d'exécuter l'analyseur C# sur Linux et macOS. Une autre fonctionnalité importante de cette version est le plugin PVS-Studio JetBrains Rider. Cela permettra aux développeurs C# d'utiliser facilement l'analyseur sur toutes les plateformes de base.
PVS-Studio est inclus dans le rapport "Now Tech : Static Application Security Testing, Q3 2020" en tant qu'outil spécialisé dans SAST. Forrester Research est un leader dans la recherche sur l'impact des technologies innovantes sur les entreprises. Le rapport de recherche est disponible à la vente pour les abonnés et les clients de Forrester Research.
Nous continuons à développer PVS-Studio en tant qu'outil SAST (Static Application Security Testing). Comme nouvelle étape dans cette direction, nous avons commencé à travailler sur la prise en charge des normes suivantes : OWASP ASVS et AUTOSAR C++14 Coding Guidelines . Notre site répertorie les règles qui correspondent aux directives de codage OWASP ASVS et AUTOSAR C++14 Coding Guidelines .
PVS-Studio fournit désormais mapping de ses règles de diagnostic à la liste des menaces de sécurité les plus courantes OWASP Top 10 Web Application Security Risks. Cette liste est basée sur l'opinion générale d'experts en sécurité du monde entier. Cette note aide les développeurs et les experts en sécurité à détection et à élimination les risques de sécurité dans leurs applications.
Nous avons implémenté l'analyse taint du code C#. Grâce à cela, l'analyseur peut détecter les injections SQL, XSS, XXE, et autres faiblesses liées au traitement externe des données.
Nous avons créé le plugin PVS-Studio JetBrains CLion. Vous pouvez désormais utiliser l'analyseur dans cet IDE.
L'analyseur C++ a appris à effectuer l'analyse intermodulaire. Dans ce mode, PVS-Studio peut détecter les appels de méthodes d'autres unités de compilation et ainsi trouver plus efficacement les erreurs potentielles.
PVS-Studio couvrait 80 % de la norme MISRA C : désormais, l'analyseur affiche des warnings pour toutes les règles des catégories Mandatory et la plupart des catégories Required.
Notre équipe a trouvé plus de 15 000 erreurs dans des projets open-source.
PVS-Studio peut vérifier les projets Unreal Engine 5.
Désormais, l'analyseur C# effectue l'analyse de la composition logicielle (SCA). Cela aide l'outil à rechercher les dépendances avec les vulnérabilités connues.
PVS-Studio couvre toutes les catégories d'OWASP Top 10 2021. L'outil fournit au moins une règle de diagnostic pour chacune d'elles.
Nous avons publié les plugins pour Visual Studio Code et Qt Creator.
L'analyseur C# fournit les nouvelles règles de diagnostic pour l'optimisation du code source dans les projets liés au moteur de jeu Unity.
PVS-Studio est désormais intégré à DefectDojo, la plateforme DevSecOps. Vous pouvez télécharger les résultats d'analyse sur DefectDojo et y travailler.
Le plugin PVS-Studio pour Visual Studio Code est complètement supporté avec les langages C, C++ et C#. Le plugin permet d'analyser les projets, de supprimer les warnings et bien plus encore.
PVS-Studio pour C# supporte l'analyse des projets .NET 8 et C# 12. L'analyseur C# sous Linux et macOS fonctionne dans .NET 8.
L'analyseur PVS-Studio peut être utilisé sur l'architecture ARM sous Windows. PVS-Studio fonctionne en mode de compatibilité x64.
Date: 15 Jul 2024
Date: 17 Jan 2023
Date: 05 Jan 2023
Date: 23 Nov 2022
Date: 01 Nov 2022
Nous vous répondrons à
Si l'e-mail n'apparaît pas dans votre boîte de réception, recherchez-le dans l'un des dossiers suivants: