public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GSoC: want to take part in `Extend the static analysis pass for CPython Extension`
@ 2023-04-01 20:32 Sun Steven
  2023-04-02 23:41 ` David Malcolm
  0 siblings, 1 reply; 3+ messages in thread
From: Sun Steven @ 2023-04-01 20:32 UTC (permalink / raw)
  To: gcc

[-- Attachment #1: Type: text/plain, Size: 1499 bytes --]

Hello,

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.

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,...) 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.

I want to know if anyone was already on this project. I would prefer a large-sized object (350hrs).

If b. was already taken, I also accept a. and c. 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.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GSoC: want to take part in `Extend the static analysis pass for CPython Extension`
  2023-04-01 20:32 GSoC: want to take part in `Extend the static analysis pass for CPython Extension` Sun Steven
@ 2023-04-02 23:41 ` David Malcolm
  2023-04-03 10:08   ` Steven Sun
  0 siblings, 1 reply; 3+ messages in thread
From: David Malcolm @ 2023-04-02 23:41 UTC (permalink / raw)
  To: Sun Steven, gcc

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GSoC: want to take part in `Extend the static analysis pass for CPython Extension`
  2023-04-02 23:41 ` David Malcolm
@ 2023-04-03 10:08   ` Steven Sun
  0 siblings, 0 replies; 3+ messages in thread
From: Steven Sun @ 2023-04-03 10:08 UTC (permalink / raw)
  To: David Malcolm, gcc

[-- Attachment #1: Type: text/plain, Size: 4004 bytes --]

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 <dmalcolm@redhat.com>
Sent: Monday, April 3, 2023 7:41
To: Sun Steven <StevenSun2021@hotmail.com>; gcc@gcc.gnu.org <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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-04-03 10:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-01 20:32 GSoC: want to take part in `Extend the static analysis pass for CPython Extension` Sun Steven
2023-04-02 23:41 ` David Malcolm
2023-04-03 10:08   ` Steven Sun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).