Databases Reference
In-Depth Information
Chapter 12
Test-Driven Reuse: Key to Improving Precision
of Search Engines for Software Reuse
Oliver Hummel and Werner Janjic
Abstract The applicability of software reuse approaches in practice has long suf-
fered from a lack of reusable material, but this situation has changed virtually over
night: the rise of the open source movement has made millions of software arti-
facts available on the Internet. Suddenly, the existing (largely text-based) software
search solutions did not suffer from a lack of reusable material anymore, but rather
from a lack of precision as a query now might return thousands of potential results.
In a reuse context, however, precisely matching results are the key for integrating
reusable material into a given environment with as little effort as possible. Therefore
a better way for formulating and executing queries is a core requirement for a broad
application of software search and reuse. Inspired by the recent trend towards test-
first software development approaches, we found test cases being a practical vehicle
for reuse-driven software retrieval and developed a test-driven code search system
utilizing simple unit tests as semantic descriptions of desired artifacts. In this chap-
ter we describe our approach and present an evaluation that underlines its superior
precision when it comes to retrieving reusable artifacts.
12.1 Introduction
Building high-quality software faster, cheaper, and more predictable with the help of
reusable software building blocks is not a new idea. The earliest publication usually
referenced in this context is Douglas McIlroy's seminal paper on component reuse
[ 25 ] presented at the famous NATO conference in Garmisch in 1968 where amongst
other ideas the term “software engineering” was coined. The idea of “remixing”
O. Hummel ( ) ￿ W. Janjic
Software Engineering Group, University of Mannheim, 68131, Mannheim, Germany
e-mail: hummel@informatik.uni-mannheim.de ; werner@informatik.uni-mannheim.de
Search WWH ::




Custom Search