[www] r261830 - Remove old GSOC projects.

Vassil Vassilev via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 24 23:34:14 PST 2016


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