[www] r261830 - Remove old GSOC projects.

Tanya Lattner via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 24 23:46:17 PST 2016


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?

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