Databases Reference
In-Depth Information
know-how from source code searching tools within programming environments.
However, code search on the Internet at times is more similar to code reuse than the
find function in an IDE. In this section, we will review the trends and results that
motivate and inform our research.
3.2.1 Source Code on the Internet
The open source movement has dramatically increased the quantity of source code
available on the Internet. While the open source concept has been around for
decades, it is only in the last 10 years or so that it has become commonplace.
For-profit corporations are now contributing source code and person-hours to open
source projects [ 5 ]. The most obvious benefit of the open source movement is that
it makes available a “rich base of reusable software” [ 15 ].
Communities of practice have evolved from this sharing of programs and knowl-
edge amongst people having common goals and interests, within the open source
world. A community of practice is formed by a group of people united by a joint
enterprise, who develop mutually beneficial social relationships in the process of
working towards things that matter to them [ 6 ]. Artifacts, advice/tips and other
relevant knowledge are contributed by members to provide a shared repertoire of
resources for the community.
In the open source world, project hosting sites, technology-specific mailing lists
and social networking sites are examples of such communities of practice. Source-
forge.net and freshmeat.net host thousands of projects and have an infrastructure
that supports the sharing of programs and knowledge. The infrastructure for these
projects is provided by developers, and so is the source code - all through extensive
collaboration over individual projects.
Technology specific mailing lists such as PHP.net and CPAN.org are a compila-
tion of code snippets, bug reports, patches, discussions and how-to guides related
to a specific technology or programming language. These sites are frequented by
developers who are interested in learning a particular language or technology, or
building on top of it. The lists contain not only source code, but also contributions of
helpful tips on what works, what doesn't, and what is the best way to solve a certain
problem. Since it is the culture in open source to share software developed by using
open source technology, these archives of source code are increasing exponentially.
Blogs, social bookmarking and other social networking sites have the capability
to tag websites containing source code relevant to a particular topic and are excellent
sources of reference on latest technologies and trends.
3.2.2 Code Search Engines
General purpose search engines such as Google and Yahoo! are used for code search
most often. Users are familiar with these tools and due to their effectiveness in
retrieving documents on the web they are easily the most popular. However, they are
Search WWH ::




Custom Search