On Sun, Apr 11, 2021 at 12:14 AM David Malcolm <dmalc...@redhat.com> wrote:

> On Sat, 2021-04-10 at 21:18 +0530, Saloni Garg wrote:
> > On Thu, Apr 8, 2021 at 8:19 AM David Malcolm <dmalc...@redhat.com>
> > wrote:
> >
> > > On Wed, 2021-04-07 at 01:59 +0530, Saloni Garg wrote:
>
> [...]
>
> > > Looking at:
> > >   https://gcc.gnu.org/wiki/SummerOfCode#Application
> > > we don't have a specific format to be followed.
> > >
> > > That said, I saw this
> > >   https://google.github.io/gsocguides/student/writing-a-proposal
> > > which seems to have useful advice to prospective GSoC students.  In
> > > particular, the "Elements of a Quality Proposal" lists various
> > > things
> > > that in your current draft are missing, and which would strengthen
> > > your
> > > proposal.  So I'd recommend that you (and other prospective GSoC
> > > candidates) have a look at that.
> > >
> > Added some new sections. Tried to explain them as well. There are
> > some
> > things I am not clear about, so explicitly mentioned them and will
> > add the
> > relevant explanations and present them in the later reports. Please
> > let me
> > know if this sounds good to you and provide feedback as well.
>
> The updated version looks a lot stronger.
>
Hi, Thanks for the quick feedback.

>
> That said, you haven't given details of your programming expertise - in
> particular this project will require proficiency with C++, so a good
> application would give evidence to the reader that you're already up-
> to-speed on writing and debugging C++ (see the "Biographical
> Information" section in the guide I linked to above for more info).
>
Apologies, but I am a beginner in this area of compilers and static
analysis. I already know some C++ coding which I have used mostly in
Competitive coding competitions. I have been following this(
https://www.cse.iitk.ac.in/users/karkare/Courses/cs618/) course to
understand the nuances of the static analysis. I am confident that I can
write the C++ code that is required here and know how to use tools like
GDB, Valgrind to debug the C++ codes, but I don't have any good projects to
prove that right now. My college got stopped due to COVID-19 and hasn't
started yet properly, so I have been trying to learn most of the things
online only.
I hope you understand.

- Saloni

> [...snip...]
>
> > > FWIW please don't create a top-level function called "free" that
> > > isn't
> > > the C stdlib's free, it's confusing!
> > >
> > Sorry, my bad renamed it to `myfree`.
>
> Thanks!
>
> > >
> > > > int main()
> > > > {
> > > >    try {
> > > >      p = alloc();
> > > >      free();
> > > >    } catch(...) {
> > > >    }
> > > >    return 0;
> > > > }
> > > > Please, have a look here (https://godbolt.org/z/8WvoaP67n). I
> > > > believe
> > > > it is
> > > > a false positive, I am not sure, please confirm.
> > >
> > > It looks like one to me.  I had a look at -fdump-analyzer-exploded-
> > > graph and the false positive seems to be associated with the edge
> > > with
> > > the EH flag (to the catch handler).
> > >
> > I have understood the exploded graph but not able to understand the
> > `EH
> > flag` point you are making, so I will get back to you on this.
>
> Edges in control flow graphs can have flags; see the various
> DEF_EDGE_FLAG in gcc/cfg-flags.def in the source tree, and in
> particular the "EH" flag.
>
> These flags are visible in the analyzer's supergraph - they should
> appear in the .dot dump files from the analyzer - so sometimes they're
> difficult to see, depending on how GraphViz lays things out.  (FWIW I
> use:
>   https://github.com/jrfonseca/xdot.py
> to view the .dot files; it's fast and convenient)
>
> [...snip...]
>
> >
> > > >
> > >
> > > Currently the analyzer has a "brute force" approach to
> > > interprocedural
> > > analysis, and attempts to simulate the calls and returns in a
> > > fairly
> > > direct way.  It's crude (and has exponential growth), but is
> > > reasonably
> > > simple conceptually (or at least I think so).  The analyzer
> > > implements
> > > setjmp/longjmp in a similar way, and exception-handling could be
> > > based
> > > on that code.
> > >
> > Going through that already and your comments at the start of every
> > data
> > structure defined are really helpful.
>
> Thanks!
>
> >
> [...snip...]
>
> Dave
>
>

Reply via email to