Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 20 / Issue 5

available in:   PDF (1 MB) PS (2 MB)
Similar Docs BibTeX   Write a comment
Links into Future
DOI:   10.3217/jucs-020-05-0772


Thesaurus-Based Tag Clouds for Test-Driven Code Search

Otavio A. L. Lemos (Federal University of São Paulo, Brazil)

Adriano C. de Paula (Federal University of São Paulo, Brazil)

Gustavo Konishi (Federal University of São Paulo, Brazil)

Sushil Bajracharya (Black Duck Software, Inc., USA)

Joel Ossher (University of California, USA)

Cristina Lopes (University of California, USA)

Abstract: Test-driven code search (TDCS) is an approach to code search and reuse that uses test cases as inputs to form the search query. Together with the test cases that provide more semantics to the search task, keywords taken from class and method names are still required. Therefore, the effectiveness of the approach also relies on how good these keywords are, i.e., how frequently they are chosen by developers to name the desired functions. To help users choose adequate words in their query test cases, visual aids can be used. In this paper we propose thesaurus-based tag clouds to show developers terms that are more frequently used in the code repository to improve their search. Terms are generated by looking up words similar to the initial keywords on a thesaurus. Tag clouds are then formed based on the frequency in which these terms appear in the code base. Our approach was implemented with an English thesaurus as an extension to CodeGenie, a Java- and Eclipse-based TDCS tool. Our evaluation shows evidence that the approach can help improve the number of returned results, recall (by ∼28%, on average), and precision (by ∼14%, on average). We also noticed the visual aid can be especially useful for non-native speakers of the language in which the code repository is written. These users are frequently unaware of the most common terms used to name specific functionality in the code, in the given language.

Keywords: code search, software reuse, tag clouds, test-driven code search

Categories: D.2.13