<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-020-05-0772</article-id>
      <article-id pub-id-type="publisher-id">23192</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.2.13 - Reusable Software</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Thesaurus-Based Tag Clouds for Test-Driven Code Search</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Lemos</surname>
            <given-names>Otavio A. L.</given-names>
          </name>
          <email xlink:type="simple">otavio.lemos@unifesp.br</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>De Paula</surname>
            <given-names>Adriano C.</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Konishi</surname>
            <given-names>Gustavo</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Bajracharya</surname>
            <given-names>Sushil</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Ossher</surname>
            <given-names>Joel</given-names>
          </name>
          <xref ref-type="aff" rid="A3">3</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Lopes</surname>
            <given-names>Cristina</given-names>
          </name>
          <xref ref-type="aff" rid="A3">3</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Federal University of São Paulo, São Paulo, Brazil</addr-line>
        <institution>Federal University of São Paulo</institution>
        <addr-line content-type="city">São Paulo</addr-line>
        <country>Brazil</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Black Duck Software, Inc., Burlington, United States of America</addr-line>
        <institution>Black Duck Software, Inc.</institution>
        <addr-line content-type="city">Burlington</addr-line>
        <country>United States of America</country>
      </aff>
      <aff id="A3">
        <label>3</label>
        <addr-line content-type="verbatim">University of California, Irvine, United States of America</addr-line>
        <institution>University of California</institution>
        <addr-line content-type="city">Irvine</addr-line>
        <country>United States of America</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Otavio A. L. Lemos (<email xlink:type="simple">otavio.lemos@unifesp.br</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2014</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>05</month>
        <year>2014</year>
      </pub-date>
      <volume>20</volume>
      <issue>5</issue>
      <fpage>772</fpage>
      <lpage>796</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/C2561D90-5EA6-5008-8368-5498DFB8EB64">C2561D90-5EA6-5008-8368-5498DFB8EB64</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/5505121">5505121</uri>
      <history>
        <date date-type="received">
          <day>28</day>
          <month>07</month>
          <year>2013</year>
        </date>
        <date date-type="accepted">
          <day>15</day>
          <month>02</month>
          <year>2013</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Otavio A. L. Lemos, Adriano C. De Paula, Gustavo Konishi, Sushil Bajracharya, Joel Ossher, Cristina Lopes</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>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.</p>
      </abstract>
    </article-meta>
  </front>
</article>
