Avez-vous déjà comparé les les outils d'analyse statique Klocwork et Findbugs?
Nous utilisons Klocwork comme un outil d'analyse statique.
Klocwork est un outil commercial et a de nombreux avantages, mais comporte aussi des limites, comme de faux-positifs.
Je me demande qui n'a jamais comparé Klocwork avec d'autres outils open source tels que Findbugs.
Généralement, commerical outils est connu pour être plus fiable que des outils open source.
Mais je pense que Klocwork a aussi quelques fiables questions spécifiques dans le domaine des affaires comme android.
Pouvez-vous dire que Klocwork est supérieure à d'autres outils open source, en particulier Findbugs dans les aspects de faux positifs et de faux négatifs?
- Le vote pour la fermer comme trop large.
Vous devez vous connecter pour publier un commentaire.
J'ai fait une comparaison entre les commerciaux et open source d'analyse de code statique outils (SCAT) quelques années en arrière. Klocwork était l'un d'eux. Pour rendre une longue histoire courte, le résultat a été que, dans l'environnement java les outils commerciaux ne pas fournir le (supplémentaire) de la valeur nécessaire pour justifier leur prix. Dans le nombre de bogues trouvés, findbugs était beaucoup mieux que l'un de ces outils. Seulement coverity trouvé quelques bugs qui aucun des autres outils, et a eu la plus faible FPR. De l'autre côté coverity n'a pas détecté de nombreux bugs, findbugs ne trouvez - donc, pour nous, tous les outils ne justifient pas de l'argent impliqué. Et si la configuration est bonne, findbugs offre également une très faible FPR. Dans une version plus récente coverity inclus la possibilité d'intégrer findbugs dans leur solution. Mhhmmm alors pourquoi ont-ils le faire? 🙂
Il y a cependant des scénarios par exemple lors de l'utilisation d'autres langages de programmation ou inter-langage de programmation des analyses (par exemple, votre base de code comprend d'autres langages de programmation (comme en C, C++, C# ...)) ou vous avez besoin de certaines fonctionnalités supplémentaires fournies par ces outils - alors qu'il pourrait être intéressant de regarder dans outils commerciaux. Mais vous pouvez faire votre propre avis, car toute solution peut être testé. Aller à leur page web et télécharger/demander un essai et l'essayer pour vous-même (peut-être dans l'intervalle, les choses ont changé?).
J'ai vérifié les outils suivants:
Commercial:
OpenSource:
Donc au final qu'avons-nous fait? Nous avons installé la libre sonar serveur qui associe de nombreux outils comme findbugs, pmd, checkstyle, cobertura et la comme. Avec qui nous avons obtenu une solution gratuite qui est dans de nombreux aspects de mieux que les outils commerciaux disponibles. Et si je dois aller la route commerciale je serais probablement prendre un coup d'oeil étroit à coverity (et ne regarde jamais lancé à nouveau).
[Mise à jour]
Concernant votre question à propos de la performance - findbugs est en mesure d'analyser de grandes bases de code sans problème (si vous rencontrez des problèmes pour ensuite l'afficher sur le findbugs liste de diffusion et ils vont vous aider). Je me souviens alors findbugs a également été l'un des meilleurs outils. Coverity par exemple besoin de près de 2h pour finir alors qu'findbugs a été fait en moins de 10minutes. Les autres outils où, entre les numéros.
Concernant la numérisation de code C et C++ vous pouvez regarder Attelle et cppcheck. Il y a aussi quelques autres utile discussions à ce sujet. Mais comme mentionné depuis findbugs est seulement pour java et que vous voulez détecter inter-langage de programmation de problèmes outils commerciaux peuvent avoir un avantage. Donc à la fin, depuis findbugs est gratuit - il suffit de l'exécuter sur votre base de code et de voir ce qui se passe pour vous, votre projet ne peut bénéficier! Ensuite corriger les bugs trouvés et par la suite faire un essai avec quelques-uns des outils commerciaux et, en fonction du nombre d'insectes qu'ils trouvent, et le prix que vous aurez à payer en tirer ses propres conclusions. Pour vous donner un exemple: l'Un des outils les coûts de "Lignes de code" /divisé par 10 (en $). Mais il se peut que dans votre cas, vous bénéficiez d'une réduction 😉
[MISE À JOUR II]
Trouvé un intéressant thèse de maîtrise discuter de ce sujet. La partie principale est d'environ findbugs, mais il mentionne également klockwork et de coverity.