>
>
Static analysis of C++Builder and WinRT…

Andrey Karpov
Articles: 674

Static analysis of C++Builder and WinRT projects

I'm addressing developers with a specific request. Our plans for the PVS-Studio 5.00 static code analyzer are to implement integration with the C++Builder environment and support for the C++/CX language extension. Unfortunately, we have very few projects developed in that environment or involving that extension, and we find it therefore difficult to test the new functionality. That's why I'm asking the community to share the source codes of your projects with us. Now let's speak of it all in detail.

We want the significant functionality changes in our tool to be timed to the release of PVS-Studio 5.00. These changes will first of all be related to C++Builder and WinRT. If don't know about this analyzer, here you are some information and usage examples on the subject: "PVS-Studio advertisement - static analysis of C/C++ code".

It's the active development of C++Builder during the recent time that has urged us to realize support for it. In particular, this analyzer now supports 64-bit software, which means the time has come for us to offer the best set of diagnostics to search for 64-bit errors to developers.

It's C++Builder XE3 we'll start supporting right away. Whether or not we will support earlier versions, I cannot say for now. PVS-Studio will integrate directly into the C++Builder development environment and provide the same functionality as in Visual Studio.

Also, we cannot but pay attention to the new WinRT platform. That's why we want to support the C++/CX language.

C++/CX (Component Extensions) is C++ extensions implemented in the Microsoft compilers. The syntax resembles that used in C++/CLI, but C++/CX programs are run in Windows Runtime (instead of Common Language Runtime) and compiled into machine code (instead of byte-code managed code).

So, as you can see, we have interesting and useful undertakings to fulfill. But we are facing a problem: we have no material to test the new functionality on. It has happened that most C++Builder projects are proprietary. We've managed to find just a few small open-source projects on the Internet so far.

What WinRT is concerned, we have an even bigger trouble with that. This area is new, and finding at least anything related to it is a difficult task.

So please share what you have. I'm sure some of you have old C++Builder projects you can send to us. We will try to convert them in C++Builder XE3 and start the testing. If you want to know the results, we'll provide those to you (I mean the list of detected errors).

In case of WinRT, there can be no old projects, of course. However, perhaps some of you are currently developing projects you don't mind showing us. We promise to keep confidential.

If you have a project you can give us for dissection, please write to support@viva64.com.