13.02.2013 Views

2 Debian Code Search: An Overview

2 Debian Code Search: An Overview

2 Debian Code Search: An Overview

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2 <strong>Debian</strong> <strong>Code</strong> <strong>Search</strong>: <strong>An</strong> <strong>Overview</strong><br />

getaddrinfo 2 ; Or finding all calls of the old ifconfig and route utilities 3 .<br />

• Judge whether a function is in wide-spread use before depending on it in a project.<br />

<strong>An</strong> example is the function pthread_mutexattr_setpshared. After having read the<br />

documentation, you might still wonder whether this function is widely supported, for<br />

example on other UNIX operating systems such as FreeBSD, and whether you are using<br />

it as its authors intended. <strong>Debian</strong> <strong>Code</strong> <strong>Search</strong> reveals that the Apache web server uses<br />

the function, so depending on it should not lead to bad surprises.<br />

Being a <strong>Debian</strong> project, it is important that all parts of the system are available as FLOSS<br />

themselves. This ensures that anyone can send improvements and prevents single points of<br />

failure: when the current maintainer cannot continue for some reason, other people can take<br />

over.<br />

2.2 Other search engines<br />

Of course, the idea of a code search engine is not a novel idea. There are several code<br />

search engines available on the web currently, and others have been available in the past.<br />

Unfortunately, many are too specific because they only support one programming language,<br />

have a very small source code corpus or do not deliver high-quality results.<br />

Nullege http://nullege.com is a language-specific code search engine for Python. Its<br />

corpus contains 21 630 open-source projects 4 as of 2012-12-07, typically hosted on<br />

github or SourceForge. Nullege uses its own search engine 5 .<br />

Unfortunately, more detailed information about nullege is sparse. There is no research<br />

paper about it. <strong>Search</strong>ing for “nullege” on nullege yields no results, therefore it has to<br />

be assumed that nullege is not open source.<br />

Sourcerer sourcerer is a language-specific code search engine for Java. It is a research<br />

project from University of California, Irvine. sourcerer’s corpus contains 1555 open<br />

source Java projects.<br />

Unfortunately, the public version of sourcerer is broken at the moment and only returns<br />

an HTTP 404 error.<br />

Koders http://koders.com is a code search engine for open source code. After being<br />

acquired by Black Duck Software in 2008, the public site remains free to use 6 , but<br />

(private) code search is a component of the Black Duck Suite. Koders’ corpus contains<br />

3.3 billion lines of code, but is not actively updated at the moment because the whole<br />

Koders software is in flux. 7<br />

2 This is worthwhile because getaddrinfo is required for correctly implementing IPv6. Full IPv6 support is a<br />

<strong>Debian</strong> Release Goal: http://wiki.debian.org/ReleaseGoals/FullIPv6Support<br />

3 Done without a search engine by Adam Borowski in this discussion on the <strong>Debian</strong> development list:<br />

http://lists.debian.org/debian-devel/2012/08/msg00163.html<br />

4 Nullege searches open source projects according to http://nullege.com/pages/about. The exact number<br />

of projects is visible on http://nullege.com<br />

5 https://twitter.com/nullege/status/7637551310<br />

6 http://en.wikipedia.org/wiki/Koders<br />

7 http://corp.koders.com/about/<br />

4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!