[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