Using Thesaurus-Based Tag Clouds to Improve Test-Driven Code Search

被引:3
|
作者
Lazzarini Lemos, Otavio Augusto [1 ]
de Paula, Adriano Carvalho [1 ]
Konishi, Gustavo [1 ]
Ossher, Joel [2 ]
Bajracharya, Sushil [3 ]
Lopes, Cristina [2 ]
机构
[1] Fed Univ Sao Paulo S J dos Campos, Sci & Technol Dept, Sao Paulo, Brazil
[2] Univ Calif Irvine, Donald Bren Sch Informat & Comp Sci, Irvine, CA USA
[3] Black Duck Software Inc, Burlington, MA USA
基金
巴西圣保罗研究基金会;
关键词
SOFTWARE;
D O I
10.1109/SBCARS.2013.21
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 that the approach can help improve the number of returned results. 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.
引用
收藏
页码:99 / 108
页数:10
相关论文
共 50 条
  • [11] Lowering the Barrier to Reuse through Test-Driven Search
    Janjic, Werner
    Stoll, Dietmar
    Bostan, Philipp
    Atkinson, Colin
    2009 ICSE WORKSHOP ON SEARCH-DRIVEN DEVELOPMENT-USERS, INFRASTRUCTURE, TOOLS AND EVALUATION, 2009, : 21 - 24
  • [12] Does test-driven development improve the program code? Alarming results from a comparative case study
    Siniaalto, Maria
    Abrahamsson, Pekka
    BALANCING AGILITY AND FORMALISM IN SOFTWARE ENGINEERING, 2008, 5082 : 143 - +
  • [13] Designing a Thesaurus-Based Comparison Search Interface for Linked Cultural Heritage Sources
    Amin, Alia
    Hildebrand, Michiel
    van Ossenbruggen, Jacco
    Hardman, Lynda
    IUI 2010, 2010, : 249 - 258
  • [14] AGENT-BASED MODEL OF MARITIME SEARCH OPERATIONS: A VALIDATION USING TEST-DRIVEN SIMULATION MODELLING
    Onggo, Bhakti Stephan
    Karatas, Mumtaz
    2015 WINTER SIMULATION CONFERENCE (WSC), 2015, : 254 - 265
  • [15] Generative Artificial Intelligence to Improve the Learning of Test-Driven Development
    Cassieri, Pietro
    Romano, Simone
    Scanniello, Giuseppe
    ARTIFICIAL INTELLIGENCE WITH AND FOR LEARNING SCIENCES, WAILS 2024, 2024, 14545 : XV - XVII
  • [16] Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development
    Wilkerson, Jerod W.
    Nunamaker, Jay F., Jr.
    Mercer, Rick
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (03) : 547 - 560
  • [17] Impact of test-driven development on productivity, code and tests: A controlled experiment
    Pancur, Matjaz
    Ciglaric, Mojca
    INFORMATION AND SOFTWARE TECHNOLOGY, 2011, 53 (06) : 557 - 573
  • [18] LLM-Based Test-Driven Interactive Code Generation: User Study and Empirical Evaluation
    Fakhoury, Sarah
    Naik, Aaditya
    Sakkas, Georgios
    Chakraborty, Saikat
    Lahiri, Shuvendu K.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (09) : 2254 - 2268
  • [19] Does test-driven development really improve software design quality?
    Janzen, David S.
    Saiedian, Hossein
    IEEE SOFTWARE, 2008, 25 (02) : 77 - 84
  • [20] USING TEST ORACLES AND FORMAL SPECIFICATIONS WITH TEST-DRIVEN DEVELOPMENT
    Alawneh, Shadi G.
    Peters, Dennis K.
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2013, 23 (03) : 361 - 385