From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 4C79D3858CDB for ; Tue, 21 Feb 2023 22:55:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4C79D3858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677020113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uuZ9TUpKiQAEHajCk84AvmlyDoxEgOutJiOmg2vsCIc=; b=VxzK7HwBrziJxP8wpfQ0MpttWj9McMdePxncWkNSJqhSuHMXbRTfc42fjXBKTT0sJjcvUI Ugd6WxtgOn0q20tjUBLA6UCc4zt7JPLiyYyHpdgdkPLcako71wXE1GFONCmyyqrMFHJvaN f2BV79WL2Rv+30tJY8gbn2AiJtnEAII= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-537-kGlS6zLKNPuJ3KYdlIarmQ-1; Tue, 21 Feb 2023 17:55:12 -0500 X-MC-Unique: kGlS6zLKNPuJ3KYdlIarmQ-1 Received: by mail-qk1-f198.google.com with SMTP id z23-20020a05620a101700b0073b328e7d17so2664314qkj.9 for ; Tue, 21 Feb 2023 14:55:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uuZ9TUpKiQAEHajCk84AvmlyDoxEgOutJiOmg2vsCIc=; b=QYwx+/EIIMpkFXMgb7dyFvL9+7izWGLjvr3WRrENp1K1PCZ3B5mMiW3CpamkvnzhiW kOhILl7sivS0M6d0A6YOZaTkVchlC15xKF7gaMcSSS/e2s7ZJ+KpmQHawF+9n+cRjW0S W+hQLqeBwrpPWEtYwnNv1CphfQHEOQvaeQBheRp3FAtNlm54u2Kf0zh3tMXtuor+ynil +KOgt9Tf53B+pUrN5IjP4U8TQbwlK0MuiMulrhTkHjG/HrL7FZI/cH55ZDnl8K60MIEb NhEaRRUpwo6VfdmSxh/zhD8nDYhXBRfX1EpU1luVI5VyY9PXa8T66egVfXbb1tH0b5pB iCbw== X-Gm-Message-State: AO0yUKUqdUXdAjN2/dD/Y0Vmm6h9U6sQDyfnLQaQ4kV/csjPSzPiDJoQ SbjimoUEvpldK0pUjTCwpcSMoC/xLRinGbLo6oLRViQlvj8cqJqTr01SUC+rZhm4tGVqaekHO9x ljTubVpE= X-Received: by 2002:a05:622a:14d2:b0:3bc:f954:323a with SMTP id u18-20020a05622a14d200b003bcf954323amr7952905qtx.62.1677020111760; Tue, 21 Feb 2023 14:55:11 -0800 (PST) X-Google-Smtp-Source: AK7set+niU5OAhFbVK9eANw5aCUs9YhpFrGEIQQgfIJ76OvPzvWclba8Mz/aoN/t/BAGRdFY05tx6A== X-Received: by 2002:a05:622a:14d2:b0:3bc:f954:323a with SMTP id u18-20020a05622a14d200b003bcf954323amr7952886qtx.62.1677020111500; Tue, 21 Feb 2023 14:55:11 -0800 (PST) Received: from t14s.localdomain (c-73-69-212-193.hsd1.ma.comcast.net. [73.69.212.193]) by smtp.gmail.com with ESMTPSA id d20-20020ac85454000000b003a530a32f67sm3500398qtq.65.2023.02.21.14.55.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Feb 2023 14:55:10 -0800 (PST) Message-ID: <40fbb064f56845908f797400e5d9443b6cf97fe4.camel@redhat.com> Subject: Re: [GSoC][Static Analyzer] Some questions and request for a small patch to work on From: David Malcolm To: Shengyu Huang , gcc@gcc.gnu.org Date: Tue, 21 Feb 2023 17:55:09 -0500 In-Reply-To: <960EE623-1B17-4321-B77E-FBCD9496BE1F@gmail.com> References: <960EE623-1B17-4321-B77E-FBCD9496BE1F@gmail.com> User-Agent: Evolution 3.44.4 (3.44.4-1.fc36) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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: On Tue, 2023-02-21 at 22:26 +0100, Shengyu Huang via Gcc wrote: > Dear all, Hi Shengyu, and welcome. >=20 > I want to work on the Static Analyzer project and just started to > read the documentation these days,=C2=A0 Excellent! I'm the author/maintainer of the analyzer, so I would mentor any such GSoC project. > but what=E2=80=99s mentioned in 27.1.6 in the internal document > (https://gcc.gnu.org/onlinedocs/gccint/Analyzer-Internals.html#Analyz > er-Internals) seems outdated or not detailed enough.=C2=A0 Yeah, that section is rather out of date. Sorry about that. We now have some function pointer analysis (thanks to Ankur Saini's GSoC 2021 project). > For example, I didn=E2=80=99t find any =E2=80=9CTODO/xfail=E2=80=9D in th= e testsuite.=C2=A0 Sorry, when it says "grep for TODO/xfail in the testsuite" I really meant grep for "TODO" or for "xfail" in the testsuite. But a better place to look would probably be in our bugzilla; see the links on the wiki page: https://gcc.gnu.org/wiki/StaticAnalyzer=20 The "open bugs" list currently has 41 "RFE" bugs ("request for enhancement" i.e. ideas for new features), some of which might make suitable GSoC ideas, and/or be of interest to you (ideally both!) Also, the GSoC wiki page has some project ideas: https://gcc.gnu.org/wiki/SummerOfCode#Selected_Project_Ideas > Some points sound very interesting to me (specifically, 1) adding > function pointer analysis,=C2=A0 > 2) assumption of reflexivity of constraint-handling, 3) expensive > implementation of transitivity in constraint_manager), and I would > like to look into these three points if you believe they can be > converted into a valid GSoC project. Could you give me more details > regarding these three points?=20 I believe that (2) and (3) are still true, but I don't think they'd make good GSoC projects; I think the stuff in bugzilla is much more interesting and higher priority. >=20 > In addition, would there be anything related and simple enough that I > can work on before the application period?=20 If you haven't seen it yet, you might find my guide to GCC for new contributors helpful: https://gcc-newbies-guide.readthedocs.io/en/latest/index.html IIRC I saw you post a few days ago about trying to build gcc on your M2 laptop; did you manage this? Building GCC trunk from a git checkout, and hacking in a "hello world" warning would be a great place to start. See the guide above for some hints on how to make this process quicker, and let me know if you need help if you run into difficulties. Given that the analyzer is about emitting warnings, rather than generating code, it may be that although we don't yet fully support your hardware, we *might* already support it enough to allow for hacking on the analyzer, perhaps with some judicious choices of "configure" options. Hope this is helpful; welcome again. Dave >=20 > Best, > Shengyu >=20