Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Static Analysis Framework for CDT

This is indeed the best setup, everything we can check rapidly we can do
it inside CDT even before the code is build.
Then the complicated/longer analysis are done by external tools, some of
those analysis are running at night.
What I was pointing out below is we might be able to use GCC plugins for
complicated/long analysis, we would then have a complete static analysis
framework in CDT.

"If you are doing simple rules, CDT alone should be OK but if you need
complicated rules (e.g. data-flow analysis) then you might want to also
look at GCC plugin"



> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx 
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Schorn, Markus
> Sent: 20-Apr-09 04:03
> To: CDT General developers list.
> Subject: RE: [cdt-dev] Static Analysis Framework for CDT
> 
> I don't have plans to work on something like that. However, I 
> think there is lots of value we could add to CDT by doing 
> some analysis on the parser side. This is not because we can 
> do better analysis than gcc or other tools, it is because we 
> could do some analyis much earlier, when you edit your code 
> and could ideally also provide quick-fixes. The most simple 
> example is the detection of assignments in conditions 'if (a 
> = 0)', which is easy to detect and easy to fix. CDT should 
> offer support for that.
> 
> Markus.
> 
> > -----Original Message-----
> > From: cdt-dev-bounces@xxxxxxxxxxx
> > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Dominique Toupin
> > Sent: Friday, April 17, 2009 6:08 PM
> > To: CDT General developers list.
> > Subject: RE: [cdt-dev] Static Analysis Framework for CDT
> > Importance: Low
> > 
> > 
> > Markus, are you planning on providing advanced static analysis e.g.
> > data-flow analysis :-)
> > 
> > > -----Original Message-----
> > > From: cdt-dev-bounces@xxxxxxxxxxx
> > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Doug Schaefer
> > > Sent: 17-Apr-09 11:53
> > > To: CDT General developers list.
> > > Subject: RE: [cdt-dev] Static Analysis Framework for CDT
> > > 
> > > Then I suggest that you need to take a closer look at the
> > CDT core ;)
> > > Markus's EclipseCon presentation would be a great place to start.
> > > 
> > > Doug.
> > > 
> > > On Fri, 2009-04-17 at 11:21 -0400, Dominique Toupin wrote:
> > > > In practice I don't think CDT parser has the same
> > > info/capability as
> > > > GCC, GCC has a lot of info about the code and we can do
> > > advance static
> > > > analysis (not grep like) with this info.
> > > > I am not suggesting to integrate GCC code into CDT, the
> > GCC static
> > > > analysis would be an external tool just like GCC/GDB today.
> > > > Even if it's an external tool it brings a lot of features
> > > to CDT, it's
> > > > just like compile (GCC) and debug (GDB) today.
> > > > 
> > > > > -----Original Message-----
> > > > > From: cdt-dev-bounces@xxxxxxxxxxx 
> > > > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of 
> Doug Schaefer
> > > > > Sent: 17-Apr-09 09:52
> > > > > To: CDT General developers list.
> > > > > Subject: Re: [cdt-dev] Static Analysis Framework for CDT
> > > > > 
> > > > > My bigger concern is that all GCC plug-ins must be GPL. I'd 
> > > > > especially be worried about plug-ins written
> > specifically for the
> > > > > CDT and whether that affects the definition of "derived"
> > > > > and thus, causing us legal grief.
> > > > > 
> > > > > At any rate, theoretically, the CDT parsers already
> > > create the same
> > > > > information that gcc would. And we can avoid any legal
> > > problems that
> > > > > way.
> > > > > 
> > > > > Doug.
> > > > > 
> > > > > On Fri, 2009-04-17 at 09:43 -0400, Elena Laskavaia wrote:
> > > > > > GCC plugins means it would be part of GCC which is external
> > > > > to eclipse?
> > > > > > If so it can be just run as external and not part of the
> > > > > framework which is Java based.
> > > > > > 
> > > > > > Dominique Toupin wrote:
> > > > > > > Hi Elena,
> > > > > > > 
> > > > > > > If you are doing simple rules, CDT alone should be OK
> > > but if you
> > > > > > > need complicated rules (e.g. data-flow analysis) then you
> > > > > might want
> > > > > > > to also look at GCC plugin
> > > > > http://gcc.gnu.org/wiki/GCC_Plugins, they
> > > > > > > did progress and hopefully the architecture will be
> > > > > resolve for the
> > > > > > > GCC summit (http://gccsummit.org/2009/), some CDT
> > committers
> > > > > > > will also attend the GCC summit (at least Francois
> > and Marc).
> > > > > > > 
> > > > > > > Last year at the GCC summit some static analysis tools
> > > > > based on GCC
> > > > > > > where presented e.g. 
> > > https://developer.mozilla.org/en/Treehydra,
> > > > > > > 
> > > > > 
> > > 
> https://developer.mozilla.org/en/Dehydra?rdfrom=https%3A%2F%2Fwiki.m
> > > > > > > ozil
> > la.org%2Findex.php%3Ftitle%3DDehydra_GCC%26redirect%3Dno.
> > > > > > > 
> > > > > > > If we can have good static analysis rules with GCC
> > > > > plugins it will
> > > > > > > make sense to integrate those into CDT.
> > > > > > > 
> > > > > > > Dominique
> > > > > > > 
> > > > > > > 
> > > > > > >> -----Original Message-----
> > > > > > >> From: cdt-dev-bounces@xxxxxxxxxxx 
> > > > > > >> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Elena 
> > > > > > >> Laskavaia
> > > > > > >> Sent: 16-Apr-09 22:44
> > > > > > >> To: CDT General developers list.
> > > > > > >> Subject: [cdt-dev] Static Analysis Framework for CDT
> > > > > > >>
> > > > > > >> This is something I am doing in my spare time - 
> I want to 
> > > > > > >> create static analysis framework for CDT, light
> > weigh set of
> > > > > classes that
> > > > > > >> allow to have common interface for dealing with problems
> > > > > produced
> > > > > > >> by static analysis tools (and some default checkers,
> > > > > such what JDT
> > > > > > >> has, i.e Potential Null Pointer Dereference, etc).
> > > > > > >>
> > > > > > >> See design details at: 
> > > > > > >> http://wiki.eclipse.org/CDT/designs/StaticAnalysis
> > > > > > >> _______________________________________________
> > > > > > >> cdt-dev mailing list
> > > > > > >> cdt-dev@xxxxxxxxxxx
> > > > > > >> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > > >>
> > > > > > > _______________________________________________
> > > > > > > cdt-dev mailing list
> > > > > > > cdt-dev@xxxxxxxxxxx
> > > > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > > _______________________________________________
> > > > > > cdt-dev mailing list
> > > > > > cdt-dev@xxxxxxxxxxx
> > > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > _______________________________________________
> > > > > cdt-dev mailing list
> > > > > cdt-dev@xxxxxxxxxxx
> > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > 
> > > > _______________________________________________
> > > > cdt-dev mailing list
> > > > cdt-dev@xxxxxxxxxxx
> > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > _______________________________________________
> > > cdt-dev mailing list
> > > cdt-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > 
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 


Back to the top