The Source SDK is a software development kit compiled by Valve Corporation that is used to create games or mods for the Source engine. I downloaded and checked the project's source codes at the end of 2013 already and intended to write an article about it during the New Year holidays. But laziness prevailed over the craving for creativity, and I sat down to writing the article only on getting back to work. However, I doubt that the source codes have changed during this time. Now you are welcome to have a look at the suspicious code fragments found in the project code by the PVS-Studio code analyzer.
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Checking the Source SDK Project
1. An Alternative to PVS-Studio at $250
Author: Andrey Karpov
Date: 14.01.2014
Hello, we are the developers of the PVS-Studio static code analyzer. We have created a new software
product CppCat and are going to tell you about it in this article. Some time ago we imagined that we had
never had PVS-Studio yet retained the experience of developing static analysis tools for C/C++ code. Our
minds thus refreshed, we made a new static analyzer just the way we wanted it to be - simple and easy to
use. You will also be glad to know that it costs $250 per installation.
Background of the new product
We always did our best to keep PVS-Studio easy to use and understand. But it inevitably grew to lose its
simplicity as it acquired new functionality. For example, such is the ID field in the error table: some find it
useful while others are confused by it. People mix it up with the diagnostic number and wonder why there
can be IDs like 3, 7, 23, 25 - and what about the rest? The answer is simple and obvious: they are hidden; for
example, the "64-bit" diagnostic set is turned off.
Similar issues are with the settings as well. It is important in the case of large projects to have the option of
choosing among preprocessors (Clang or Visual C++). It allows a user to greatly enhance the speed of
analysis for certain projects. But those who are only getting started with the tool may be confused by this
option. They select Clang and expect to get warnings generated by it. Some even send us indignant letters
blaming us for selling an expensive add-on for Clang. Just in case, follow this link to find out how exactly we
utilize Clang. You know, it's difficult to sell our analyzer to a programmer who mistakenly thinks that it is just
a wrapper for Clang :). This is how a vague setting gives rise to great confusion.
We programmers are smart and sensible guys. But when it comes to learning new tools, we often resemble
ordinary users. And it's quite okay: there's just too much information around us and you usually don't have
enough time and strength to spend on learning every technological innovation. So, although programmers'
tools are pretty intricate products, learning them should be as simple as handling a calculator is. Otherwise,
you risk your tool just remaining unnoticed. People just won't have enough time to comprehend it. And
that's what often happens to PVS-Studio.
It's entirely our own fault that PVS-Studio has grown so complicated. And we have failed to find a way of
returning the interface to the simplicity it possessed before. So, we created a new product: CppCat. This
2. tool is so simple and streamlined that you will never get lost among its settings. Learning to use it takes less
time than reading this article. Yes, it lacks quite a few features, but those are still there in PVS-Studio that
will also remain. We just offer a cheaper carrot grater to those who don't need an expensive multi-function
food processor.
Now, let's point out the main idea once again. We've created an easy to learn and use tool for static analysis
of C/C++ code. It will make your first steps into the static analysis methodology as simple as possible. And
thanks to its simplicity and relatively low price, CppCat should go on to become a popular tool which will be
as indespencible to the software developers, as a safety net for the rope-walker!
Functionality
The CppCat tool is designed to detect suspicious fragments in program code written in C/C++. The main
functions of the analyzer are:
• Analysis of projects;
• Automatic analysis of files after compilation.
That's all. The analyzer does exactly what it is designed for: checking the code and telling the programmer
which fragments need closer examination. The tool can only work in Visual Studio (2010, 2012 and 2013).
We decided to drop using the phrase "the analyzer detects bugs" too often. You see, any analyzer produces
false positives. But when the analyzer generates warnings on correct code, it doesn't mean that you don't
have to do anything with that code at all. We came across an interesting association in one article. The
analyzer reveals code fragments with the "smell". "Smelly" code is not necessarily incorrect. It just means
that it contains some anomalies that may cause some confusion when the code is maintained by other
developers. "Smelly" code may lead to errors after refactoring: a programmer responsible for modifying the
code may fail to understand how certain functions work and bring in some defects by a mistake.
Thus, we believe that every code fragment that CppCat finds suspicious must be reviewed and improved. By
clearing the code of its "smell", you will greatly help your coworkers. However, warnings do need to be
suppressed sometimes. We offer a number of methods to do that - see the CppCat manual.
Readers may still wonder: in what ways exactly is CppCat different from PVS-Studio? Here's the answer in
the form of a summary table:
3. Table 1. Comparing features of PVS-Studio against CppCat.
On one hand, CppCat lacks much. But on the other, it retains all the functions necessary for everyday use in
your work.
The main ideological difference between CppCat and PVS-Studio is the following:
CppCat licenses are individual. You install it on your computer and start using it. It doesn't provide
functionality useful in team work - for example, you cannot set CppCat to run night checks. This and other
functions of that kind are provided by PVS-Studio.
PVS-Studio is intended for large, complex projects. CppCat can check large projects too - there's no
restriction concerning the project size. It's just that CppCat doesn't have some of the additional functions
and ships under a different licensing policy.
CppCat can be used in companies (and large ones as well) in the same way - but you just need to purchase
several licenses (and we offer discounts for buying several licenses at a time!).
Pricing policy
It's very simple with the prices. One copy of the product costs $250. The license is not floating - it is bound
to one computer (hardware ID).
4. We offer discounts depending on how many licenses you buy at a time:
• 1 - 4 licenses: $250.00
• 5 - 24 licenses: $225.00
• 25+ licenses: $212.50
The license is valid during 1 year. On the expiration, it can be renewed at 80% of the initial price (i.e. $200).
Downloading, trying and purchasing
Nothing complicated about that too:
• Visit the product website: http://www.cppcat.com
• Support is provided via e-mail: team@cppcat.com
The full-function trial version can be used for 7 days.
And what about PVS-Studio?
We go on developing PVS-Studio as well. It is still relevant and all its aspects, as well as the pricing policy,
remain the same.