[www] r261830 - Remove old GSOC projects.

Vassil Vassilev via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 25 01:11:15 PST 2016


On 25/02/16 08:46, Tanya Lattner wrote:
> Vassil,
>
> Yes, totally fine to propose it as a GSOC project again. I’m just updating the document to reflect the current GSOC year open projects and so its not confusing to prospective applicants. I think we should probably have a separate page to advertise the GSOC projects that have been accepted and that are being worked on.
>
> What do you think?
I agree. Maybe the general project description could be invariant. The 
project GSoC goals can vary with the years. I am not sure how we could 
layout this on the webpage :(
--Vassil
>
> Thanks,
> Tanya
>
>> On Feb 24, 2016, at 11:34 PM, Vassil Vassilev <v.g.vassilev at gmail.com> wrote:
>>
>> Hi Tanya,
>>   I was actually planning to continue the work on the copy-paste this year too. Would that be possible?
>> Cheers,
>> Vassil
>> On 25/02/16 08:13, Tanya Lattner via llvm-commits wrote:
>>> Author: tbrethou
>>> Date: Thu Feb 25 01:13:41 2016
>>> New Revision: 261830
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=261830&view=rev
>>> Log:
>>> Remove old GSOC projects.
>>>
>>> Modified:
>>>      www/trunk/OpenProjects.html
>>>
>>> Modified: www/trunk/OpenProjects.html
>>> URL: http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=261830&r1=261829&r2=261830&view=diff
>>> ==============================================================================
>>> --- www/trunk/OpenProjects.html (original)
>>> +++ www/trunk/OpenProjects.html Thu Feb 25 01:13:41 2016
>>> @@ -4,14 +4,6 @@
>>>     <ul>
>>>     <li><a href="#what">What is this?</a></li>
>>> -  <li><a href="#gsoc2015">Google Summer of Code 2015</a>
>>> -  <ol>
>>> -    <li><a href="#copy-paste">Copy-paste detection</a></li>
>>> -  </ol></li>
>>> -  <li><a href="#gsoc2014">Google Summer of Code 2014</a>
>>> -  <ol>
>>> -    <li><a href="#scan-build">Scan-build tracking platform</a></li>
>>> -  </ol></li>
>>>     <li><a href="#subprojects">LLVM Subprojects: Clang and VMKit</a></li>
>>>     <li><a href="#improving">Improving the current system</a>
>>>     <ol>
>>> @@ -70,136 +62,6 @@ LLVM bug tracker</a>. See the <a href="h
>>>     </div>
>>>   -<!-- *********************************************************************** -->
>>> -<div class="www_sectiontitle">
>>> -  <a name="gsoc2015">Google Summer of Code 2015 projects</a>
>>> -</div>
>>> -<!-- *********************************************************************** -->
>>> -
>>> -<div class="www_subsubsection">
>>> -  <a name="copy-paste">Copy-paste detection</a>
>>> -</div>
>>> -
>>> -<div class="www_text">
>>> -<p><b>Description of the project: </b>
>>> -The copy-paste is a common programming practice. Most of the programmers start
>>> -from a code snippet, which already exists in the system and modify it to match
>>> -their needs. Easily, some of the code snippets end up being copied dozens of
>>> -times. This manual process is error prone, which leads to a seamless
>>> -introduction of new hard-to-find bugs. Also, copy-paste usually means worse
>>> -maintainability, understandability and logical design.
>>> -<a href="http://clang.llvm.org">Clang</a> and <a href="http://clang-analyzer.llvm.org/">
>>> -clang's static analyzer</a> provide all the building blocks to build a generic
>>> -C/C++ copy-paste detecting infrastructure. The infrastructure should be evolved
>>> -alongside with useful features such as bug checkers and compiler diagnostics.
>>> -</p>
>>> -
>>> -<p><b>Expected results: </b>
>>> -  <ul>
>>> -    <li>Add a copy-paste detecting infrastructure to LLVM. The infrastructure
>>> -			should be developed in a feature-centric way.</li>
>>> -    <li>Develop initial detection of slightly modified code - it should extend
>>> -      the copy-paste infrastructure adding some semantic analysis.</li>
>>> -    <li>Develop copy-paste oriented bug checkers - they should be added to
>>> -      clang's static analyzer (see some examples below).</li>
>>> -    <li>Develop thorough test suite.</li>
>>> -    <li>Prepare a final poster of the work and be ready to present it.</li>
>>> -  </ul>
>>> -
>>> -<p><b>Confirmed Mentor:</b> Vassil Vassilev</p>
>>> -
>>> -<p><b>How to contact the mentor:</b> vvasilev at cern.ch or
>>> -   vassil_vassilev at hotmail.com</p>
>>> -
>>> -<p><b>Desirable skills:</b>
>>> -   Advanced C++, Basic knowledge of Clang/Clang Static Analyzer</p>
>>> -
>>> -<p><b>What the student will learn:</b> Static analyzer, Clang, etc</p>
>>> -<p><b>Further information:</b>
>>> -   The developed copy-paste infrastructure could be used to build for building
>>> -more advanced bug checkers. Some examples and possible applications are:
>>> -  <ol>
>>> -    <li>Here is an example where we could implement warning that both branches are the same:
>>> -      <pre>
>>> -        if (cond)
>>> -          do_a();
>>> -        else
>>> -          do_a();
>>> -      </pre>
>>> -      A more realistic example (provided by Nick Lewycky) could be:
>>> -      <pre>
>>> -        #define num_cpus() (1)
>>> -        #define max_omp_threads() (1)
>>> -        int test8(int expr) {
>>> -          if (expr)
>>> -            return num_cpus();
>>> -          else
>>> -           return max_omp_threads();
>>> -        }
>>> -      </pre>
>>> -      The implementation should be extremely efficient and with low false
>>> -      positive rate, in order to end up in clang's mainline. Initial work done
>>> -      by Nick could be found
>>> -      <a href="https://gist.github.com/vgvassilev/471feedc9de61a9590da">here.</a>
>>> -    </li>
>>> -    <li>Here is another example (by Marshall Clow):<br />
>>> -      Code block #1 is about 50 lines of code, with references to a global
>>> -      variable (global1, global1, global1, global1, global1).
>>> -      <br />
>>> -      Code block #2 is an obviously duplicated and edited block of code, with
>>> -      references to (global2, global2, global2, global1, global2).
>>> -      <br />
>>> -      A diagnostics "Are you sure you don't mean 'global2' here?" would be great.
>>> -    </li>
>>> -  </ol></p>
>>> -</p>
>>> -
>>> -</div>
>>> -
>>> -<!-- *********************************************************************** -->
>>> -<div class="www_sectiontitle">
>>> -  <a name="gsoc2014">Google Summer of Code 2014 projects</a>
>>> -</div>
>>> -<!-- *********************************************************************** -->
>>> -
>>> -<div class="www_subsubsection">
>>> -  <a name="scan-build">Scan-build tracking platform</a>
>>> -</div>
>>> -
>>> -<div class="www_text">
>>> -<p> <b>Description of the project</b>: The idea of this project is to extend scan-build to make it more reliable for projects. Currently, scan-build results pages do not allow the tracking of a defect or the possibility to tag false positive defects.<br />
>>> -Moreover, scan-build only shows the status of the project on specific time. An evolution of number of defects (per category or not) over time would be a great advantages for developers.</p>
>>> -
>>> -<p>
>>> -The project will focus on:
>>> -<ul>
>>> -<li>Improve clang static-analyzer to provide a unique ID for each defect</li>
>>> -<li>Create a database to keep track of the evolutions</li>
>>> -<li>Make scan-build URL permanent</li>
>>> -<li>Tagging of false positive</li>
>>> -<li>Evolution of number of defects (per category or not)</li>
>>> -</ul>
>>> -</p>
>>> -
>>> -<p>During this GSoC, the student will have to keep in mind the tracking platform should not be tied to scan-build and should be usable by other clang analyzer clients (Xcode, Eclipse, etc) with different needs (different database, etc.).</p>
>>> -
>>> -<p>Note that the creation of a Unique Defect ID can be an hard problem.</p>
>>> -
>>> -<p><b>Confirmed Mentor:</b> Sylvestre Ledru, Jean-Daniel Dupas</p>
>>> -
>>> -<p><b>How to contact the mentor:</b> sylvestre at debian.org & jddupas at yahoo.fr</p>
>>> -
>>> -<p><b>Deliverables of the project:</b> New version of scan-build</p>
>>> -
>>> -<p><b>Requirements:</b> Triage and/or fix <a href="http://llvm.org/bugs/buglist.cgi?quicksearch=scan-build">scan-build bugs</a> or implement a proof of concept</p>
>>> -
>>> -<p><b>Desirable skills:</b> C++, Database, scan-build</p>
>>> -
>>> -<p><b>What the student will learn:</b> Static analyzer, Clang, etc</p>
>>> -</p>
>>> -
>>> -</div>
>>> -
>>>   <!-- *********************************************************************** -->
>>>   <div class="www_sectiontitle">
>>>     <a name="subprojects">LLVM Subprojects: Clang and VMKit</a>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list