From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7421 invoked by alias); 10 Feb 2019 05:45:48 -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 7381 invoked by uid 89); 10 Feb 2019 05:45:44 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2251, years, watched, 6.2 X-HELO: mail-it1-f172.google.com Received: from mail-it1-f172.google.com (HELO mail-it1-f172.google.com) (209.85.166.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 10 Feb 2019 05:45:42 +0000 Received: by mail-it1-f172.google.com with SMTP id g85so18822866ita.3 for ; Sat, 09 Feb 2019 21:45:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=zJZ6BvkJVIlhkHQGlhZiw7OcHqOak8hb9fF4D6AeLr4=; b=o9gNHHg3Koti/k9pV+3MSp975Xa8tWp09BVyWyBSVhaaXMps4SXHvfTTWkMZhakoEO TBIpqubAuaq1w8CjMuVF0ZM7BM3718spx+b5voXrwqX4NF6HDMqLVCI6+yD80A+Ec9MO 7TZlNKzU4ko84Nht/LYILvl6Kw9kcdj1W6BfLmeZXgGOySxi4IvzJ9qf9wVhYiSSixCu Z3sYVlzsaVppRZllK2R6dQJVoK47rgPoMtLhYvnKE92iv3b7J8KtFJUcmjC8ZlIt2T7o Bs63e4fiocreZ9hfzCr6X+itEyJ5//FrgYZs+9H7qoS1iLh+Rcmms+cJKp7t5Gg7v6hq hxYg== MIME-Version: 1.0 Received: by 2002:ac0:8d2e:0:0:0:0:0 with HTTP; Sat, 9 Feb 2019 21:45:40 -0800 (PST) From: sameeran joshi Date: Sun, 10 Feb 2019 05:45:00 -0000 Message-ID: Subject: [GSoC 2019] [extending Csmith for fuzzing OpenMp extensions] To: gcc@gcc.gnu.org Cc: Andi Kleen Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00037.txt.bz2 Hi,I am an undergraduate student currently in final year of computer science and engineering degree course from Pune University, India. I and Shubham have been working on Last year's GSoC project idea : Implement a fuzzer leveraging GCC extensions. Fuzzers like csmith are fairly good at finding compiler bugs. But they only generate standard C, but no extensions. GCC has many extensions, which are not covered. It would be good to extend a fuzzer like csmith to fuzz extensions like OpenMP, attributes, vector extensions, etc. Then run the fuzzer and report compiler bugs. since June 2018 under the guidance of mentor Andi Kleen. I worked on generating GCC C language extensions here is the link (coverage reports,implemented extension's list,bugs found,test cases, and usage are in README file on github) github Link: https://github.com/Sameeranjoshi/csmith/tree/gcc-extensions We choose this as our university project as well, and are still fuzzing the extensions on compiler farm. Based on the previous work I would like to propose the following idea for GSoC 2019: Extending Csmith for OpenMP extensions. I would implement following constructs of OpenMP 1.PARALLEL CONSTRUCT 2.WORKSHARING CONSTRUCTS - 2.1 sections 2.2 single 2.3 loop constructs 2.4 master construct 3.TEAMS CONSTRUCT 4.TASKING CONSTRUCT - 4.1 task 4.2 taskloop 4.3 taskloop simd 4.4 taskyield 5.SYNCHRONIZATION CONSTRUCTS - 5.1 critical 5.2 atomic 5.3 barrier 5.4 taskwait 5.5 taskgroup 6.DATA SHARING ATTRIBUTES - 6.1 private 6.2 public 6.3 firstprivate 6.4 lastprivate Also, I would like to work on the target constrains if time permits. The main challenge what I think would be to ensure that there aren't any data races and data conflicts so that the parallelized program is not undefined. Usage for the GCC community : 1. It might have slight large increments in code coverage and trigger a lot of unique code . I have watched A "Hands-on" Introduction to OpenMP | Tim Mattson, Intel all 4 parts https://www.youtube.com/watch?v=pRtTIW9-Nr0 I have started reading the specification of latest 5.0 standard. Please suggest if this could be an interesting idea for upcoming GSoC ? Thanks, Sameeran Joshi