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


BTW the checker thinks that this statement has no effect in Hello World application:
cout << "!!!Hello World!!!" << endl;

I should turn of for c++ probably. You can overload + to do something as well...

also you cover a+b; case. A statement a; could be added as it has no effect either (except any side effect of course).
What do you mean? If + is not overload, the resulting value has no effect regardless of what a or b is.



Andrew

    Schorn, Markus wrote:

        This is great start! In addition to your proposal it would be
        useful to (optionally) run some (or all?) of the checkers on the
        editor every time the user stops
        typing.
        The editor creates an AST at this point of time anyways, so as
        long as
        there are simple checkers this should not add a noteable
        performance overhead.
        Markus.

            -----Original Message-----
            From: cdt-dev-bounces@xxxxxxxxxxx
            <mailto:cdt-dev-bounces@xxxxxxxxxxx>
            [mailto:cdt-dev-bounces@xxxxxxxxxxx
            <mailto:cdt-dev-bounces@xxxxxxxxxxx>] On Behalf Of Elena
            Laskavaia
            Sent: Monday, April 20, 2009 4:51 PM
            To: CDT General developers list.
            Subject: Re: [cdt-dev] Static Analysis Framework for CDT
            Importance: Low

            There is not much of this "framework" can be re-used for
            self contained external tool like that.
            I don't think even error parser is required because it would
            just work with gcc error parser, so it would pretty much
            work out of box considering integration is provided by
            makefile (which should be done anyway on make/build level
            and not invoked externally)

            Btw, I am pretty much done with preliminary framework
            (without data-flow graphs etc), I update wiki page
            http://wiki.eclipse.org/CDT/designs/StaticAnalysis
            added screenshots for user interface, comments are welcome.
            I have 2 checkers now Assignment in Condition from Markus
            presentation and Statement has no Effect.
            Checkers contributions are welcome. We need at least dozen
            checkers to make it worthy to include as feature in next CDT.

            Schaefer, Doug wrote:

                That sounds reasonable. I'm still concerned about the

            licensing issues

                with the GCC plug-in framework, but we're starting to

            figure out how

                to manage that with the packaging efforts.

                Cheers,
                Doug.

                    -----Original Message-----
                    From: cdt-dev-bounces@xxxxxxxxxxx
                    <mailto:cdt-dev-bounces@xxxxxxxxxxx>
                    [mailto:cdt-dev-bounces@xxxxxxxxxxx
                    <mailto:cdt-dev-bounces@xxxxxxxxxxx>] On Behalf Of
                    Dominique Toupin
                    Sent: Monday, April 20, 2009 7:47 AM
                    To: CDT General developers list.
                    Subject: 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>
                        [mailto: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>
                            [mailto: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>
                                [mailto: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>
                                        [mailto: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
                            <http://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>
                                                    [mailto: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
                                                    <mailto:cdt-dev@xxxxxxxxxxx>
                                                    https://dev.eclipse.org/mailman/listinfo/cdt-dev

                                                _______________________________________________
                                                cdt-dev mailing list
                                                cdt-dev@xxxxxxxxxxx
                                                <mailto:cdt-dev@xxxxxxxxxxx>
                                                https://dev.eclipse.org/mailman/listinfo/cdt-dev

                                            _______________________________________________
                                            cdt-dev mailing list
                                            cdt-dev@xxxxxxxxxxx
                                            <mailto:cdt-dev@xxxxxxxxxxx>
                                            https://dev.eclipse.org/mailman/listinfo/cdt-dev

                                        _______________________________________________
                                        cdt-dev mailing list
                                        cdt-dev@xxxxxxxxxxx
                                        <mailto:cdt-dev@xxxxxxxxxxx>
                                        https://dev.eclipse.org/mailman/listinfo/cdt-dev

                                    _______________________________________________
                                    cdt-dev mailing list
                                    cdt-dev@xxxxxxxxxxx
                                    <mailto:cdt-dev@xxxxxxxxxxx>
                                    https://dev.eclipse.org/mailman/listinfo/cdt-dev

                                _______________________________________________
                                cdt-dev mailing list
                                cdt-dev@xxxxxxxxxxx
                                <mailto:cdt-dev@xxxxxxxxxxx>
                                https://dev.eclipse.org/mailman/listinfo/cdt-dev

                            _______________________________________________
                            cdt-dev mailing list
                            cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
                            https://dev.eclipse.org/mailman/listinfo/cdt-dev

                        _______________________________________________
                        cdt-dev mailing list
                        cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
                        https://dev.eclipse.org/mailman/listinfo/cdt-dev

                    _______________________________________________
                    cdt-dev mailing list
                    cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
                    https://dev.eclipse.org/mailman/listinfo/cdt-dev

                _______________________________________________
                cdt-dev mailing list
                cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
                https://dev.eclipse.org/mailman/listinfo/cdt-dev

            _______________________________________________
            cdt-dev mailing list
            cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
            https://dev.eclipse.org/mailman/listinfo/cdt-dev

        _______________________________________________
        cdt-dev mailing list
        cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
        https://dev.eclipse.org/mailman/listinfo/cdt-dev

    _______________________________________________
    cdt-dev mailing list
    cdt-dev@xxxxxxxxxxx <mailto: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