From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49767 invoked by alias); 11 Jun 2018 00:20:47 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 49748 invoked by uid 89); 11 Jun 2018 00:20:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,KAM_SHORT autolearn=no version=3.3.2 spammy=randomly, sameeran, joshi, H*f:_UdFyNWNe6auwJR X-HELO: mga02.intel.com Received: from mga02.intel.com (HELO mga02.intel.com) (134.134.136.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 11 Jun 2018 00:20:45 +0000 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jun 2018 17:20:43 -0700 X-ExtLoop1: 1 Received: from tassilo.jf.intel.com (HELO tassilo.localdomain) ([10.7.201.126]) by orsmga003.jf.intel.com with ESMTP; 10 Jun 2018 17:20:41 -0700 Received: by tassilo.localdomain (Postfix, from userid 1000) id 7D266301067; Sun, 10 Jun 2018 17:20:43 -0700 (PDT) Date: Mon, 11 Jun 2018 08:06:00 -0000 From: Andi Kleen To: sameeran joshi Cc: gcc@gcc.gnu.org Subject: Re: Fuzzer extension for gcc Message-ID: <20180611002043.GA11953@tassilo.jf.intel.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-SW-Source: 2018-06/txt/msg00130.txt.bz2 On Sun, Jun 10, 2018 at 12:49:44PM +0530, sameeran joshi wrote: > Hi all,I have been figuring out to work on some project,so while searching > I found fuzzer implementation project quite interesting,so please can I > get some information and links about the extension of fuzzer project for > gcc . > Can anyone help me please. Hi, The deadline for the Google Summer of code project this year has already passed, so at least for this year it's not possible as a paid project. However if you're still interested in working on it outside of SoC you're welcome of course. The basic project is to extend an existing C language fuzzer, such as https://embed.cs.utah.edu/csmith/ or https://github.com/intel/yarpgen to cover gcc language extensions, run it against the compiler and report compiler crashes it finds. For a description of the gcc language extensions please see https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/#toc-Extensions-to-the-C-Language-Family In addition there are other extensions, such as OpenMP, or the transactional memory extensions. https://www.openmp.org/specifications/ https://gcc.gnu.org/wiki/TransactionalMemory Tasks: - Investigate the documentation of some extensions and understand their scope Pick a reasonable set to implement. For a short term project this could be one or more simple extensions, or for a longer project this could be a subset of a complex extension, such as a OpenMP - Investigate the chosen extensions the code base of one the fuzzers - Run fuzzing against the compiler - See if it crashes the compiler or generates invalid output - Investigate bug reports to see if they are not malformed - Submit bugs The main challenge of the project is to understand some extensions well enough that you can implement a fuzzer and implement them in a way that the resulting randomly generated code is not malformed. -Andi