Static analysis of WinRT projects (and C++Builder) RRS feed

  • General discussion

  • 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 - 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. 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.

    Andrey Karpov is technical manager of the OOO "Program Verification Systems" (Co Ltd) company developing the PVS-Studio tool which is a package of static code analyzers integrating into the Visual Studio development environment.

    Thursday, December 20, 2012 8:03 AM