JUCS - Journal of Universal Computer Science 20(5): 772-796, doi: 10.3217/jucs-020-05-0772
Thesaurus-Based Tag Clouds for Test-Driven Code Search
expand article infoOtavio A. L. Lemos, Adriano C. De Paula, Gustavo Konishi, Sushil Bajracharya§, Joel Ossher|, Cristina Lopes|
‡ Federal University of São Paulo, São Paulo, Brazil§ Black Duck Software, Inc., Burlington, United States of America| University of California, Irvine, United States of America
Open Access
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.
test-driven code search, code search, software reuse, tag clouds