From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) by sourceware.org (Postfix) with ESMTPS id 089DA3858C24 for ; Thu, 4 Apr 2024 02:38:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 089DA3858C24 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=columbia.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 089DA3858C24 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712198330; cv=none; b=Waqw3DzCBmDOwaozkqXTNhsYf/ILWCL2CBzDGf+iGNK9tNDWP2X/RiI0hrZekK7HmHIYQStWcnawsxOIInAJCB9Dx//Y+nknxvxo8l+IfPDAgDbcVQGwSJucgl8NpaTngL8PSSJ7voUWHkpYqlSqv3cfrPrK2zSE0wlby7VW0RQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712198330; c=relaxed/simple; bh=YkMi4xB7R367jDjG5eNafV0Gv58LYGaS7ssHZImaXas=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=E8uPFoSgkITVt8PKhtB4SweAfzghzvTh6CzkhHYLkoM9KSjGxqeqzVqLsxyiCmTYNzQcI/Qq852/ewBIBAAbMREBvDQG1DQyihJaaD0v1UL4mVCWDYci9nSGTz28pcrL4A48QAHIODpJH8e9JV8/xuOJjXD81Ybb8DYH2yKzfmg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0167072.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 4342YwBt016267 for ; Wed, 3 Apr 2024 22:38:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h=mime-version : references : in-reply-to : from : date : message-id : subject : to : cc : content-type; s=pps01; bh=1m/eGytpIm7qWfN/4OXio1iQ+4lGCNuc2thGAjEvAUo=; b=uL9e2T90MH9bVWxz7my9J2G2eSu5SmJHwKsvQxDFgRPuhxYXBHtolcFApo+BXdq8LglI k21/dhEdZWBkxE8wYySG4Cy53yxd8cte1G3pfJoNl5DklzeerfcIuPTAAgimjBqMkirp foT2rB1QmBsYHzvUOiotG36Hr2l+MBzkWm59JnhaI7LZXjPovIlGVIaLdtqkMRnpV+5G LepDqiquAhWz0ZWRPsznOiwgYU8ygcbrIb01KRDg4L50qJaMoU3CkvRqfYyo8hjTVufT kB3dpgYiRy0urA/qXJhYZt+if1+rJyRlxRt//lXAznE5V491MIb/3zSdvCxaXs/tSX3C SQ== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 3x9fav9g0k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 03 Apr 2024 22:38:46 -0400 Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-29c751d57ddso401171a91.1 for ; Wed, 03 Apr 2024 19:38:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712198325; x=1712803125; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1m/eGytpIm7qWfN/4OXio1iQ+4lGCNuc2thGAjEvAUo=; b=buOquQSHs5r9j+XhxqYLa0B0LJR0KWXL2bOa23GLqsOn1LpQUmlnFPk0euCS8GT83b bSjSb3kpdbZ7HcAqr/bOdd3VMYQPujLB7lmbI0eSWPXwBkwt3DXbSC1/7cGxH8+KeCtZ 6WGwc1gov2q2eGBQuBRpSOuHhEx7OJOVKKuxpdJ/P3o1Ar3ebtq2offsGqO0FUqsJoJZ 1pG5Xxhy9Lk/Nk9helAXdn9J2ap2M/IeauHntljOSDqSnNsmysE/bhbNvoHJNXU4tEmu m3gjhBOAATpKpI1e73ELmXQdwVlnnE+ulhCTW+VnLCuoKz8VDvQr8OkB9xcuKbolYTja u1nw== X-Gm-Message-State: AOJu0Yx86VreKZ0ks0r43a1Gt2gzIReQcZoqkLUfTy2A9QiPV1F+60cZ OMuHisiw5Cfs9hTFeaZraEmik9oXdFsWgbqd2lYs7/EjOEApMm6GGJex/ZJxv1v5zdfIzbf4bl8 Ymz7i/JTwjcQ5ZO9DF4XA7+rCfHhA2wY8Vk5X2jyl3kLsA4hyeuXtQAtPCeWAYLnE2lmhb6XL9R 4fpBPEnXFLvAFGiT4= X-Received: by 2002:a17:90a:684f:b0:2a2:7a80:f1d3 with SMTP id e15-20020a17090a684f00b002a27a80f1d3mr1100786pjm.22.1712198325583; Wed, 03 Apr 2024 19:38:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYZfsA15RHzVda7nOcWE1mzxOC6R8I2JgqEdbC/DsXdxRgfqqWzsMGvbXkQ1DGEvEzAzTFp/nNkfWlycXV1Qc= X-Received: by 2002:a17:90a:684f:b0:2a2:7a80:f1d3 with SMTP id e15-20020a17090a684f00b002a27a80f1d3mr1100779pjm.22.1712198325131; Wed, 03 Apr 2024 19:38:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Eric Feng Date: Wed, 3 Apr 2024 22:38:34 -0400 Message-ID: Subject: Re: GSoC Timeline Review To: Nada Elsayed Cc: gcc@gcc.gnu.org, David Malcolm Content-Type: multipart/alternative; boundary="000000000000f470ca06153c3c5f" X-Proofpoint-GUID: RA7lkbqTRoDcigrfS74-nm4d7Lsd-qhi X-Proofpoint-ORIG-GUID: RA7lkbqTRoDcigrfS74-nm4d7Lsd-qhi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-03_26,2024-04-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 phishscore=0 lowpriorityscore=10 adultscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 impostorscore=0 spamscore=0 malwarescore=0 priorityscore=1501 bulkscore=10 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404040016 X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000f470ca06153c3c5f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Nada, Apologies for not being able to reply earlier as well. I=E2=80=99m glad to = hear you=E2=80=99re interested in continuing this project! There is still a lot = of work to be done =E2=80=94 my work from last summer is in a very prototype stage.= As David mentioned, familiarizing myself with the analyzer took some time, but I'm confident you=E2=80=99ll be able to make quicker progress if you're more experienced. If you=E2=80=99re interested in continuing to work on the refe= rence count checking aspect of the project in a similar direction to what I was doing, this bugzilla post might be helpful: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107646. Specifically, David and I discussed the challenge of scaling the implementation effectively, particularly when tracking the behavior of every API entrypoint through subclassing of known functions, and how we might reduce some of this effort with function attributes. Moreover, you might also be interested in exploring the work presented by Xutong Ma et al. at ASE 2023 late last summer, titled =E2=80=9CDetecting Memory Errors in Python Native Code by Tr= acking Object Lifecycle with Reference Count,=E2=80=9D as well as the works it was compared against, if you=E2=80=99re interested in exploring alternative app= roaches. Overall, I hope you find the experience as enriching as I did should you work on this project! Please feel free to reach out with any questions and I=E2=80=99ll be more than happy to help where I can. Best, Eric On Tue, Apr 2, 2024 at 10:35=E2=80=AFAM Martin Jambor wro= te: > Hello, > > On Sat, Mar 30 2024, Nada Elsayed via Gcc wrote: > > I think that I didn't fully understand the project, so I read more and > > updated the Timeline Suggestion. > > Sorry that we were for not being able to respond sooner, Easter got into > way in an unfortunate way. I do not know much about Cython or static > analysis (so I would not be able to give much advice about improvements > to the time-line), but can confirm we have received your application. > > Thanks a lot. > > Martin > > > > > Suggested Timeline: > > > > - > > > > May 1-26: > > - > > > > Explore Cython modules and try more realistic codes to see how it > > translates Python to c/c++. > > - > > > > Know more about entry-points that Cython uses. > > - > > > > Understand common bugs that happen when converting Python to c/c+= +. > > > > > > > > - > > > > Explore static analysis tool for CPython Extension code -which is > > written in Python- and try this analyzer to understand the bugs in > > translated Python code fully. > > - > > > > Know how we can emit warnings and errors. > > > > > > > > - > > > > Debug the codebase to grasp its structure and potential areas for > > improvement. > > > > > > - > > > > Weeks 1-2: > > - > > > > Understand more about reference counting verification. > > - > > > > Develop verifying reference counts for PyObjects passed as > parameters. > > - > > > > Weeks 3-4: > > - > > > > Begin to investigate Error Handling Checking. > > - > > > > Understand how the Static Analysis tool does Error Handling > checking. > > - > > > > Implement these checks in the plugin. > > - > > > > Weeks 5-7: > > - > > > > Begin to investigate Exception Handling Checking. > > - > > > > Understand how the Static Analysis tool does Exception Handling > > checking. > > - > > > > Implement these checks in the plugin. > > - > > > > Weeks 8-11 > > - > > > > Begin to investigate Format String Checking. > > - > > > > Understand how the Static Analysis tool does Format String > Checking. > > - > > > > Implement these checks in the plugin. > > - > > > > Week 12 > > - > > > > Writing the GSoC wrapping-up document. > > > > > > =E2=80=AB=D9=81=D9=8A =D8=A7=D9=84=D8=A3=D8=B1=D8=A8=D8=B9=D8=A7=D8=A1= =D8=8C 27 =D9=85=D8=A7=D8=B1=D8=B3 2024 =D9=81=D9=8A 2:31 =D8=B5 =D8=AA=D9= =85=D8=AA =D9=83=D8=AA=D8=A7=D8=A8=D8=A9 =D9=85=D8=A7 =D9=8A=D9=84=D9=8A = =D8=A8=D9=88=D8=A7=D8=B3=D8=B7=D8=A9 =E2=80=AANada > > Elsayed=E2=80=AC=E2=80=8F <=E2=80=AAnadaelsayed163@gmail.com=E2=80=AC= =E2=80=8F>:=E2=80=AC > > > >> Greetings All, > >> Hope this email finds you well. > >> I am interested in "Extend the plugin to add checking for usage of the > >> CPython API" project. First of all, I built the library, and now I am > >> trying to debug it. Then, I also used Cpython in 3 demos to understand > how > >> it works. Finally, I read the uploaded patch comments to understand the > >> codebase and file structure. > >> > >> I was wondering if you could review my suggested timeline? > >> suggested Timeline: > >> > >> - > >> > >> May 1-26: > >> - > >> > >> Explore Cython modules, emphasizing entry-points and bug > >> identification. > >> - > >> > >> Study analyzers, particularly cpy-analyzer, to enhance > >> understanding. > >> - > >> > >> Debug the codebase to grasp its structure and potential areas for > >> improvement. > >> - > >> > >> Focus investigation on "errors in GIL handling" and "tp_traverse > >> errors". > >> - > >> > >> Weeks 1-6: > >> - > >> > >> Investigate GIL (Global Interpreter Lock) errors extensively. > >> - > >> > >> Engage in discussions and develop viable solutions to address > >> identified issues. > >> > >> > >> > >> - > >> > >> Weeks 7-12: > >> - > >> > >> Gain insight into the functioning of the Garbage Collector. > >> - > >> > >> Implement checks to mitigate traverse errors effectively. > >> - > >> > >> Ensure robust error handling mechanisms are in place through > >> thorough study and practical implementation. > >> > >> > --000000000000f470ca06153c3c5f--