cppcheck/htdocs/gsoc2014.php

131 lines
5.1 KiB
PHP
Raw Normal View History

2014-02-08 13:12:12 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="google summer of code 2014 ideas" />
<meta name="keywords" content="Cppcheck, google summer of code" />
<title>google summer of code 2014 ideas</title>
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Orbitron&amp;text=Cppcheck" />
<link rel="stylesheet" type="text/css" href="/site/css/pack.css" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
</head>
<body>
<div id="header">
<div class="wrap">
<h1><a href="/">Cppcheck</a></h1>
<p>A tool for static C/C++ code analysis</p>
</div> <!-- .wrap -->
</div> <!-- #header -->
<div id="tabs">
<div class="wrap">
<ul>
<li><a href="/">Home</a></li>
<li><a href="http://sourceforge.net/apps/mediawiki/cppcheck/">Wiki</a></li>
<li><a href="http://sourceforge.net/apps/phpbb/cppcheck/">Forum</a></li>
<li><a href="http://sourceforge.net/apps/trac/cppcheck/">Issues</a></li>
<li><a href="/devinfo/" title="Developer Information">Developer Info</a></li>
<li><a href="/demo/">Online Demo</a></li>
<li><a href="http://sourceforge.net/projects/cppcheck/">Project page</a></li>
</ul>
</div> <!-- .wrap -->
</div> <!-- #tabs -->
<div id="content">
<div class="wrap">
<h2>Overview</h2>
<p>
<ol>
<li>Core Cppcheck
<ol>
2014-02-08 14:47:40 +01:00
<li>Add 1 new checker (C++)</li>
2014-02-08 13:12:12 +01:00
<li>Improved value flow (C++)</li>
2014-02-08 14:47:40 +01:00
<li>Check for unused functions when -j is used (C++)</li>
2014-02-08 13:12:12 +01:00
</ol></li>
<li>Configurations
<ol>
2014-02-08 14:47:40 +01:00
<li>Add a configuration (XML)</li>
2014-02-08 13:12:12 +01:00
<li>Auto generate configuration (C++ / scripting)
<li>GUI for editing configurations (C++,Qt)</li>
</ol></li>
<li>Distributed computing
<ol>
<li>Distributed computing (C++)</li>
</ol></li>
</ul>
</p>
<h2>1. Core Cppcheck</h2>
<p>
<strong>Project 1.1</strong><br>
2014-02-08 14:47:40 +01:00
<strong>Name:</strong> Add 1 new checker<br>
2014-02-08 13:12:12 +01:00
<strong>Skills required:</strong> C++<br>
<strong>Description:</strong> There are several tickets in our issue tracker that has ideas for new checkers.
The subtasks will be: implement a new checker, write test cases, test it against various projects.
</p>
<p>
<strong>Project 1.2</strong><br>
<strong>Name:</strong> Improved value flow<br>
<strong>Skills required:</strong> C++<br>
<strong>Description:</strong> The value flow analysis is used by various checkers - therefore improving
this will mean that many checkers get better. It is possible to improve the value flow analysis, for example
after conditions, inside loops, etc.
</p>
2014-02-08 14:47:40 +01:00
<p>
<strong>Project 1.3</strong><br>
<strong>Name:</strong> Check for unused functions when -j is used<br>
<strong>Skills required:</strong> C++, threads<br>
<strong>Description:</strong> Currently the check for unused functions only works when the analysis is
single-threaded. When multithreaded analysis is done the check is disabled. The function usage must be
stored in a thread safe way. The problem is that you don't have access to mutexes inside the check so
instead of store to the same container from different threads it might be a good idea to store the
function usage in different containers. And when all threads are done the results can be "merged".
</p>
2014-02-08 13:12:12 +01:00
<h2>2. Configurations</h2>
<p>
<strong>Project 2.1</strong><br>
2014-02-08 14:47:40 +01:00
<strong>Name:</strong> Add a configuration<br>
<strong>Skills required:</strong> C/C++ (not much), XML<br>
<strong>Description:</strong> More configuration files are needed for various libraries. Subtasks: choose
a popular library. Analyse the library functions and read API documentation. Write proper configuration
file for Cppcheck.
2014-02-08 13:12:12 +01:00
</p>
<p>
<strong>Project 2.2</strong><br>
<strong>Name:</strong> Autogenerated configurations<br>
<strong>Skills required:</strong> C++ / scripting<br>
<strong>Description:</strong> Auto generate configuration from headers. To parse the headers,
you can for instance do this yourself (python script/c++/..) or you can modify cppcheck and
use the symboldatabase.
</p>
<p>
<strong>Project 2.3</strong><br>
<strong>Name:</strong> GUI for editing configurations<br>
<strong>Skills required:</strong> C++, Qt<br>
<strong>Description:</strong> A graphical user interface for editing configurations would be nice. This should be
added in the cppcheck-gui program.
</p>
<h2>3. Distributed computing</h2>
<p>
<strong>Project 3.1</strong><br>
<strong>Name:</strong> Distributed computing<br>
<strong>Skills required:</strong> Network, script, C++<br>
<strong>Description:</strong> Make it possible to distribute analysis. A client and server needs to be written. The client will
execute cppcheck to perform analysis.
</p>
</div> <!-- .wrap -->
</div> <!-- #content -->
</body>
</html>