On Wed, Mar 07, 2018 at 03:52:15AM +0530, Prathamesh Kulkarni wrote: > On 3 March 2018 at 16:22, Prateek Kalra <prateekkalra2...@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