public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: sameeran joshi <gsocsameeran@gmail.com>
To: gcc@gcc.gnu.org
Cc: Andi Kleen <ak@linux.intel.com>
Subject: [GSoC 2019] [extending Csmith for fuzzing OpenMp extensions]
Date: Sun, 10 Feb 2019 05:45:00 -0000	[thread overview]
Message-ID: <CAKz4L0ER_F1N=gxq75pS0=vN5zayDivOCNYz5WZkOX78aDO0KA@mail.gmail.com> (raw)

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

             reply	other threads:[~2019-02-10  5:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-10  5:45 sameeran joshi [this message]
2019-02-18 18:22 ` Martin Jambor
2019-03-23 18:19   ` sameeran joshi
2019-03-24  2:55     ` Andi Kleen
2019-03-24 19:33       ` sameeran joshi
2019-03-26  0:41         ` Andi Kleen
2019-03-26  7:29           ` Jakub Jelinek
2019-03-26  8:00             ` sameeran joshi
2019-03-26  8:05               ` Jakub Jelinek
2019-03-26 13:32                 ` Andi Kleen
2019-04-01 16:52                   ` sameeran joshi
2019-04-01 17:02                     ` sameeran joshi
2019-04-03 16:50                       ` Martin Jambor
2019-04-03 17:46                         ` sameeran joshi
2019-04-04 11:20                           ` Martin Jambor
2019-04-04 13:45                             ` sameeran joshi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKz4L0ER_F1N=gxq75pS0=vN5zayDivOCNYz5WZkOX78aDO0KA@mail.gmail.com' \
    --to=gsocsameeran@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).