Artifact Representation Techniques for Large-Scale Software Search Engines

The first generation of software retrieval systems developed some 25 years ago used simple bibliographic indexing techniques adapted from library science to support the retrieval of relatively small numbers of in-house software artifacts. While these were sufficient at the time, they were completely...

Full description

Saved in:
Bibliographic Details
Published inFinding Source Code on the Web for Remix and Reuse pp. 81 - 101
Main Authors Marcus, Schumacher, Oliver, Hummel, Colin, Atkinson
Format Reference Book Chapter
LanguageEnglish
Published New York, NY Springer New York 2013
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The first generation of software retrieval systems developed some 25 years ago used simple bibliographic indexing techniques adapted from library science to support the retrieval of relatively small numbers of in-house software artifacts. While these were sufficient at the time, they were completely unscaleable to the vast numbers of software artifacts available today. The second generation of software search engines, representing the state-of-the-practice today, tackles this problem by using full-text search frameworks such as Lucene to support text-based searches on large software collections. However, these typically provide no inherent support for sophisticated search use cases which exploit the structure and “meaning” of software artifacts. In this chapter we describe the core techniques used in current text-based code search engines and advanced techniques that can be used to support sophisticated forms of searches that exploit the structure of software. We then survey the challenges and opportunities encountered in the development of the next (third) generation of software search engines based on new, currently emerging data storage platforms.
ISBN:1461465958
9781461465959
DOI:10.1007/978-1-4614-6596-6_5