public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Fuzzer extension for gcc
@ 2018-06-10 22:43 sameeran joshi
  2018-06-11  8:06 ` Andi Kleen
  0 siblings, 1 reply; 2+ messages in thread
From: sameeran joshi @ 2018-06-10 22:43 UTC (permalink / raw)
  To: gcc; +Cc: ak

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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Fuzzer extension for gcc
  2018-06-10 22:43 Fuzzer extension for gcc sameeran joshi
@ 2018-06-11  8:06 ` Andi Kleen
  0 siblings, 0 replies; 2+ messages in thread
From: Andi Kleen @ 2018-06-11  8:06 UTC (permalink / raw)
  To: sameeran joshi; +Cc: gcc

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-06-11  0:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-10 22:43 Fuzzer extension for gcc sameeran joshi
2018-06-11  8:06 ` Andi Kleen

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).