This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC GSOC Participation


On Wed, Mar 07, 2018 at 03:52:15AM +0530, Prathamesh Kulkarni wrote:
> On 3 March 2018 at 16:22, Prateek Kalra <prateekkalra2010@gmail.com> wrote:
> > Hello GCC Community,
> > My name is Prateek Kalra.I am pursuing integrated dual
> > degree(B.tech+M.tech) in Computer Science Software Engineering,from Gautam
> > Buddha University,Greater Noida.I am currently in 8th semester of the
> > programme.
> > I have experience in competitive programming with C++.Here's my linkedin
> > profile:
> > https://www.linkedin.com/in/prateek-kalra-6a40bab3/.
> > I am interested in GSOC project "Implement a fuzzer leveraging GCC
> > extensions".
> > I had opted compiler design as one of the course subjects in the previous
> > semester and was able to secure an 'A' grade at the end of the semester.
> > I have theoretical knowledge of fuzz testing and csmith,that how the random
> > C programs are generated to check the compiler bugs and I am very keen to
> > work under this project.
> > I request you to guide me to progress through the process.I would really
> > appreciate if you could mentor me with the further research of this project
> > idea.

Hi Prateek,

Further research on the project:

- Look at the gcc language extensions in the gcc documentation. Select some
(can be one or a combination of multiple)
of suitable complexity and get familiar with the concepts. Examples are
OpenMP, transactions, vector extensions. For some of them the gcc documentation
is enough, for others (like OpenMP or transactions) you'll need to
download the external specification. Look at the specification
and get familiar with it. Likely you'll also need to do some research
in the underlying concepts (e.g. parallelism for OpenMP or vectorization
for the vector APIs)

- Look at csmith or yarpgen and get familar with the code

Then you can make a choice which fuzzer you want to use as a base
and make a proposal which gcc extensions you would want to target
with the project.

-Andi


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]