GSoC: want to take part in `Extend the static analysis pass for CPython Extension`
David Malcolm
dmalcolm@redhat.com
Sun Apr 2 23:41:30 GMT 2023
On Sat, 2023-04-01 at 20:32 +0000, Sun Steven via Gcc wrote:
> Hello,
Hi!
I just replied to your other email in the "[GSoC] Interest and initial
proposal for project on reimplementing cpychecker as -fanalyzer plugin
" thread.
>
> I want to take part in this project.
>
> b. Write a plugin to add checking for usage of the CPython API (e.g.
> reference-counting); see
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107646
>
>
> I know the deadline is arriving, but this idea just came to me now.
Indeed; the deadline for submitting proposals to the official GSoC
website is April 4 - 18:00 UTC (i.e. this coming Tuesday); see:
https://developers.google.com/open-source/gsoc/timeline
Google are very strict about that deadline.
>
> Self-intro:
> I am a fan of C++, and have expertise in writing low-latency codes. I
> previously worked at a high-frequency trading company, mainly writing
> C++ and Python on Linux.
>
> Familiarity with GCC:
> I get an overall idea of how the compiler works. I have debugged
> several GCC c++ frontend bugs. (eg. 108218, 99686, 99019,...)
Thanks; I just took a look at those.
> But I only checked the c++ frontend codes in detail, not the middle
> or backend codes. I have the ability to work with large codebases.
>
> Familiarity with CPython:
> I use a lot of CPython. Recently, I am contributing to the CPython
> interpreter on PEP 701 (mainly on the parser, which I am familiar
> with)
>
>
> I have always been wanting to contribute major changes to GCC, but
> just don't know if that project exists. I understand how middle-end
> works, but never really interact with the GIMPLE. This project allows
> me to take a real look at how GCC's middle end works.
Given your knowledge of both C++ and of CPython internals, this project
sounds like a good way for you to get involved.
>
> I want to know if anyone was already on this project. I would prefer
> a large-sized object (350hrs).
I see you've already posted to the thread Eric started.
>
> If b. was already taken, I also accept a. and c.
I had to check the wiki page to see which ones (a) and (c) were;
(a) is "Add format-string support to -fanalyzer."
(c) is "Add a checker for some API or project of interest to the
contributor (e.g. the Linux kernel, a POSIX API that we're not yet
checking, or something else), either as a plugin, or as part of the
analyzer core for e.g. POSIX."
Do you have specific ideas for (c)?
(a) would make a great project, in that it's reasonably self-contained.
Eric's proposal for (b) plans to eventually tackle it, but there's a
huge amount of potential work in (b) already.
> By the way, I don't really care about the GSoC. If we miss the
> deadline, we can still push forward this project without the support
> of GSoC, as long as I get coached.
I'm keen on helping new GCC contributors, with or without GSoC. A good
next step is to build GCC from source, and try hacking in a new
warning. See:
https://gcc-newbies-guide.readthedocs.io/en/latest/
But remember that the GSoC deadline is April 4 - 18:00 UTC (i.e. this
coming Tuesday), so if you're going to apply, you need to act fast.
Good luck
Dave
More information about the Gcc
mailing list