I do not have specific ideas on (c). I prefer to work on (b) if possible. The PEP 701 branch is under active development now. I review others' PRs and open some PRs myself. https://github.com/pablogsal/cpython/pull/54 https://github.com/pablogsal/cpython/pull/61 https://github.com/pablogsal/cpython/pull/63 I will submit a proposal on (b) as soon as possible. And by the way, I can get to work long before the start-coding timepoint of GSoC timeline. ________________________________ From: David Malcolm Sent: Monday, April 3, 2023 7:41 To: Sun Steven ; gcc@gcc.gnu.org Subject: Re: GSoC: want to take part in `Extend the static analysis pass for CPython Extension` 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