[cfe-dev] [StaticAnalyzer] C++ related checkers

Adam Romanek romanek.adam at gmail.com
Fri Mar 20 14:44:39 PDT 2015


On 17.03.2015 14:16, Manuel Klimek wrote:
> On Tue, Mar 17, 2015 at 1:52 PM Adam Romanek <romanek.adam at gmail.com
> <mailto:romanek.adam at gmail.com>> wrote:
>
>     Could you be more specific about these limitations of the engine? Are
>     they documented somewhere?
>
>
> Not that I'm aware of. The analyzer works well for a large set of code,
> and people like us for whom it doesn't work well enough yet don't use it.

Well, as I indicated at the beginning, I use it all the time. I'm just 
trying to collect the knowledge required to push it towards C++ a bit 
further.

>
>     Are there any plans or ongoing work on
>     getting rid of them?
>
>
>   It's an open source project, so help is always welcome :)

This is exactly why I started this conversation. I plan to contribute, I 
just don't want to waste my time and end up in a dead end.

Thanks,
Adam Romanek

>
>
>     Best regards,
>     Adam Romanek
>
>     On 17.03.2015 12:11, Manuel Klimek wrote:
>      > There are still a few core issues to resolve in the analyzer before
>      > it'll get really useful for large C++ codebases (<- opinion :) and I
>      > think that's why we're not seeing that many C++ related checks.
>      >
>      > Specifically, temporary constructors/destructors still have work
>     to do,
>      > especially regarding passing temporaries as by-value function
>     parameters.
>      >
>      > On Mon, Mar 16, 2015 at 11:22 PM Adam Romanek
>     <romanek.adam at gmail.com <mailto:romanek.adam at gmail.com>
>      > <mailto:romanek.adam at gmail.com
>     <mailto:romanek.adam at gmail.com>__>> wrote:
>      >
>      >     Hi!
>      >
>      >     I'm new to this list and to Clang development. Nevertheless I've
>      >     been interested in Clang Static Analyzer for a while. I've been
>      >     using it on a large code base with a lot of success. So let
>     me start
>      >     by saying: thanks for this amazing piece of code!
>      >
>      >     But... Some time ago I realized there are hardly any strictly C++
>      >     related checkers in CSA. I was wondering if there's any
>     movement in
>      >     this area. I was thinking about some checkers for
>     use-after-free for
>      >     STL containers like std::string, for example:
>      >
>      >     const char* x = NULL;
>      >     {
>      >        std::string foo("foo");
>      >        x = foo.c_str();
>      >     }
>      >     printf("%s", x); // boom
>      >
>      >     There are also some other common types of errors in C++ like
>     use of
>      >     iterator after it has been invalidated. FYI this one in
>     particular
>      >     is detected by cppcheck.
>      >
>      >     So I decided to dig a bit to find out whether it is hard to
>     write a
>      >     checker for use-after-free like in the example with
>     std::string. It
>      >     looks like MallocChecker deals with a similar class of issues.
>      >
>      >     I was wondering whether it would be the right approach to try to
>      >     "bend" MallocChecker to my needs (but it's already 2.5k lines of
>      >     code) or to start something new on my own.
>      >
>      >     Honestly it took me some time even to detect a simple std::string
>      >     constructor call so the road looks rather long and bumpy...
>      >
>      >     Any hints, pointers? Any related work?
>      >
>      >     Thanks in advance.
>      >
>      >     Best regards,
>      >     Adam Romanek
>      >     ___________________________________________________
>      >     cfe-dev mailing list
>      > cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>
>     <mailto:cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>>
>      > http://lists.cs.uiuc.edu/____mailman/listinfo/cfe-dev
>     <http://lists.cs.uiuc.edu/__mailman/listinfo/cfe-dev>
>      >     <http://lists.cs.uiuc.edu/__mailman/listinfo/cfe-dev
>     <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>>
>      >
>
>     _________________________________________________
>     cfe-dev mailing list
>     cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>
>     http://lists.cs.uiuc.edu/__mailman/listinfo/cfe-dev
>     <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>
>




More information about the cfe-dev mailing list