Re: Claude AI code audit of GNUstep core stack — 1 50 fixes, 12 perf optimizations, all available for upstream
Todd White <[email protected]> Mon, 13 Apr 2026 11:41:11 -0400
| Newsgroups | gmane.comp.lib.gnustep.devel |
|---|---|
| Message-ID | <CAAAC8A+Tc9BNxqB4nVQqH3VFjyAACJh7dd2JzLUn6Fjsi5v=6w@mail.gmail.com> |
--0000000000002394a8064f59524e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Patryk, We are currently instrumenting and doing Benchmarks for performance in all cases. If a change negatively impacts performance, it is rolled back unless it addresses a concurrency issue or assertion failure. We will make sure to include the benchmarks and documentation as it is developed. Cheers, Todd On Mon, Apr 13, 2026 at 11:37=E2=80=AFAM Patryk Laurent <[email protected]> w= rote: > > I would advise that each change (each fix, each optimization, etc) be > submitted as a separate reviewable PR. Ideally, signed off by the > contributor. > > Furthermore in the case of each optimization a benchmark should probably > be done. > > Thank you, > Patryk > > > -- > Patryk Laurent, Ph.D > San Diego, CA > w: http://pakl.net/ > > On Apr 13, 2026, at 07:40, R Frith-Macdonald <[email protected]= k> > wrote: > > =EF=BB=BF > On 13/04/2026 04:35, Todd White wrote: > > Hi GNUstep Team, > > > As an exercise to test out the latest Claude AI capabilities, we recently > completed a comprehensive, bottom-up code audit of the GNUstep core stack= =E2=80=94 > all seven repositories =E2=80=94 covering libobjc2, libs-base, libs-coreb= ase, > libs-opal, libs-quartzcore, libs-gui, and libs-back. > > > Thanks for that, it looks like very worthwhile work. I can't really > comment on other packages, but I'd certainly like to incorporate a lot of > that into GNUstep-base. In the areas of the base library I can see quite= a > mixture of stuff, some of which is already known, other parts are quite > new. For instance, at one extreme having server verification off by > default was a decision from many years back, but one where a change was > long overdue, while at the other extreme the check for cross-thread > autorelease pool draining deals with such a perverse situation (I find it > hard to concieve of any way to accidentally do that) that it's quite > delightful to have a check/fix for it (though classifying it as a critica= l > issue seems silly). > > In an ideal world, I'd want to see an individual patch for each issue. > The patch would contain the source code change, the corresponding > testcases, and a ChangeLog entry, but the cloned repos contain only the > first of those. > > Can the LLM take the testcases it has generated and rewrite them as > portable (excluding objc2 and/or platform specific features or controllin= g > them with preprocessor macros) code as used by the gnustep regression > testing framework, and add them to the regression tests in each package? > > Thanks > > > > --0000000000002394a8064f59524e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,sa= ns-serif">Hi Patryk,</div><div class=3D"gmail_default" style=3D"font-family= :arial,sans-serif"><br></div><div class=3D"gmail_default" style=3D"font-fam= ily:arial,sans-serif">We are currently instrumenting and doing Benchmarks f= or performance in all cases. If a change negatively impacts performance, it= is rolled back unless it addresses a concurrency issue or assertion failur= e. We will make sure to include the benchmarks and documentation as it is d= eveloped.</div><div class=3D"gmail_default" style=3D"font-family:arial,sans= -serif"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,s= ans-serif">Cheers,</div><div class=3D"gmail_default" style=3D"font-family:a= rial,sans-serif"><br></div><div class=3D"gmail_default" style=3D"font-famil= y:arial,sans-serif">Todd</div><div class=3D"gmail_default" style=3D"font-fa= mily:arial,sans-serif"><br></div></div><br><div class=3D"gmail_quote gmail_= quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Apr 13, 2026= at 11:37=E2=80=AFAM Patryk Laurent <<a href=3D"mailto:[email protected]">= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" s= tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad= ding-left:1ex"><div dir=3D"auto"><div dir=3D"ltr"><br></div><div dir=3D"ltr= ">I would advise that each change (each fix, each optimization, etc) be sub= mitted as a separate reviewable PR.=C2=A0 Ideally, signed off by the contri= butor.=C2=A0</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">Furthermore i= n the case of each optimization a benchmark should probably be done.</div><= div dir=3D"ltr"><br></div><div dir=3D"ltr">Thank you,</div><div dir=3D"ltr"= >Patryk</div><div dir=3D"ltr"><br><br id=3D"m_6284193341757949970lineBreakA= tBeginningOfSignature"><div dir=3D"ltr"><div><span style=3D"background-colo= r:rgba(255,255,255,0)">--</span></div><div id=3D"m_6284193341757949970Apple= MailSignature"><span style=3D"background-color:rgba(255,255,255,0)">Patryk = Laurent, Ph.D</span></div><div id=3D"m_6284193341757949970AppleMailSignatur= e" style=3D"direction:inherit"><span style=3D"background-color:rgba(255,255= ,255,0)">San Diego, CA</span></div><div id=3D"m_6284193341757949970AppleMai= lSignature" style=3D"direction:inherit">w: <a href=3D"http://pakl.net/" tar= get=3D"_blank">http://pakl.net/</a></div><div id=3D"m_6284193341757949970Ap= pleMailSignature" style=3D"direction:inherit"><br></div></div><blockquote t= ype=3D"cite">On Apr 13, 2026, at 07:40, R Frith-Macdonald <<a href=3D"ma= ilto:[email protected]" target=3D"_blank">richard@frithmacdonald= .me.uk</a>> wrote:<br><br></blockquote></div><blockquote type=3D"cite"><= div dir=3D"ltr">=EF=BB=BF<span></span><br><span>On 13/04/2026 04:35, Todd W= hite wrote:</span><br><blockquote type=3D"cite"><span>Hi GNUstep Team,</spa= n><br></blockquote><blockquote type=3D"cite"><span></span><br></blockquote>= <blockquote type=3D"cite"><span>As an exercise to test out the latest Claud= e AI capabilities, we recently completed a comprehensive, bottom-up code au= dit of the GNUstep core stack =E2=80=94 all seven repositories =E2=80=94 co= vering libobjc2, libs-base, libs-corebase, libs-opal, libs-quartzcore, libs= -gui, and libs-back.</span><br></blockquote><span></span><br><span>Thanks f= or that, it looks like very worthwhile work.=C2=A0 I can't really comme= nt on other packages, but I'd certainly like to incorporate a lot of th= at into GNUstep-base.=C2=A0 In the areas of the base library I can see quit= e a mixture of stuff, some of which is already known, other parts are quite= new.=C2=A0 For instance, at one extreme having server verification off by = default was a decision from many years back, but one where a change was lon= g overdue, while at the other extreme the check for cross-thread autoreleas= e pool draining deals with such a perverse situation (I find it hard to con= cieve of any way to accidentally do that) that it's quite delightful to= have a check/fix for it (though classifying it as a critical issue seems s= illy).</span><br><span></span><br><span>In an ideal world, I'd want to = see an individual patch for each issue.=C2=A0 The patch would contain the s= ource code change, the corresponding testcases, and a ChangeLog entry, but = the cloned repos contain only the first of those.</span><br><span></span><b= r><span>Can the LLM take the testcases it has generated and rewrite them as= portable (excluding objc2 and/or platform specific features or controlling= them with preprocessor macros) code as used by the gnustep regression test= ing framework, and add them to the regression tests in each package?</span>= <br><span></span><br><span>Thanks</span><br><span></span><br><span></span><= br><span></span><br></div></blockquote></div></blockquote></div> --0000000000002394a8064f59524e--