You are welcomed by the developers of the static code analyzer PVS-Studio. We have developed a new software product -
CppCat . It is designed so. We have imagined that we do not have PVS-Studio, but we have experience in developing static analysis tools for the C / C ++ language. And with a clean head, we developed a new static analyzer the way we would like to see it. We made the tool simple and easy. And that will please many, it will cost $ 250 for one installation.
Prerequisites for creating a new tool
We have always tried to make the PVS-Studio tool easy to learn and use. But acquiring new functionality, he inevitably began to lose his simplicity. An example would be the ID field in the table with errors. For some, it is useful, confusing others. He is confused with the number of diagnostics and they are puzzled why IDs may be: 3, 7, 23, 25. And where are the others? The answer is simple and obvious, these errors are hidden. For example, the set of diagnostics "64-bit" is disabled.
The situation is bad with the settings. For large projects, it is important to be able to specify which preprocessor to use (Clang or Visual C ++). This allows you to significantly speed up the verification of some projects. But to the person who tries the instrument for the first time, this setting may be completely incomprehensible. Choose Clang and expect to see the warnings it generates. Or even write letters with indignation that we sell a superstructure over Clang for money. Just in case,
here is a link that explains how we use Clang. It's hard to sell a analyzer to a person if he accidentally thought that this is a wrapper for Clang :). And the reason for all this confusion is an incomprehensible setting.
We programmers are smart and smart guys. But when it comes to mastering new tools, we often behave no better than many ordinary users. This is normal. Too many terms of information. And to give each innovation its attention there is no strength. Therefore, although the tools for programmers are cunning things, getting to know them should be as simple as mastering the calculator. Otherwise, there is a chance that your instrument will simply not be appreciated. Not enough time to figure it out and understand it. This is exactly what happens with PVS-Studio.
')
The fact that the product of PVS-Studio has become complicated is our fault exclusively. We did not see ways to make the interface simple again. We made a new product CppCat. It is so simple that there is simply nowhere to get lost in the settings. You can parse it in less time than what you now spend on reading this article. Yes, it lacks many features. But PVS-Studio does not disappear anywhere. We just give the programmers the carrot grater they need, instead of a multifunctional food processor. And this grater costs much less.
I will single out the main idea once again. We have created an easy-to-learn analysis tool for C / C ++ code. He will make the first acquaintance with the methodology of static analysis as simple as possible. Due to its simplicity and price, it will become a famous tool, without which programmers will feel like a tightrope walker without insurance!
Functionality
The CppCat tool is designed to identify suspicious places in the code of programs written in C / C ++. The main functions of the analyzer:
- Check project;
- Automatically check files after compilation.
That's all. The analyzer does exactly what it is for. Checks the code and tells the programmer where to be more careful. Works only in Visual Studio (2010, 2012 and 2013).
We decided to use the expression “the analyzer detects errors” less often. Any analyzer gives false positives. However, the fact that the analyzer issued a warning for the correct code does not mean at all that there is no need to do anything. We liked the following association, in one of the read articles. The analyzer detects portions of the code that “smell”. The fact that the code "smells" does not mean at all that it works incorrectly. If there are any anomalies in the code, it can become a hindrance when other people accompany the code. Often, the code "with the smell" can cause errors after refactoring. The programmer, the changing code may not correctly understand the principle of the function and introduce a defect.
Thus, we believe that all code that CppCat considers suspicious should be improved. By making the code "not smelling" you make your colleagues life easier. Of course, sometimes the warning needs to be suppressed anyway. For these purposes, there are several mechanisms that can be found in the CppCat manual.
The reader will have a question, so how is CppCat different from PVS-Studio? The answer is in the form of a pivot table:
Table 1. Comparison of the functionality of the PVS-Studio and CppCat analyzer.
On the one hand, a lot is missing in CppCat. On the other hand, there is everything you need to use a static analyzer daily in your work.
The main ideological difference between CppCat and PVS-Studio:
CppCat is licensed per user. You install it on your computer and use it. It does not have any functionality useful for team work. For example, you cannot configure CppCat to check a project by night. For this there is PVS-Studio.
PVS-Studio is designed for complex and large projects. CppCat can also check large projects. There is no difference. Just in CppCat there are not some additional features and other licensing policy.
CppCat can also be used in companies, even with large teams. You just need to buy several licenses (discounts for quantity are provided!).
Price policy
The prices are simple. One version costs $ 250. The license is not floating. The license is tied to a computer (hardware ID).
When buying multiple licenses discounts are available:
- 1 - 4 licenses: $ 250.00
- 5 - 24 licenses: $ 225.00
- 25+ licenses: $ 212.50
The license is valid for 1 year. Renewal costs 80% ($ 200).
How to download, try and buy
Everything is very simple:
A full-featured evaluation version works 7 days.
What about PVS-Studio?
We continue to develop and PVS-Studio, the product is relevant, the pricing policy does not change, everything is in force.
Unfortunately, we no longer develop or support the CppCat project. You can read about the reasons here . |