ACM Home Page
Please provide us with feedback. Feedback
Applying test-driven code search to the reuse of auxiliary functionality
Full text PdfPdf (792 KB)
Source
Symposium on Applied Computing archive
Proceedings of the 2009 ACM symposium on Applied Computing table of contents
Honolulu, Hawaii
SESSION: Software engineering track table of contents
Pages 476-482  
Year of Publication: 2009
ISBN:978-1-60558-166-8
Authors
Otávio Augusto Lazzarini Lemos  ICMC/USP - Sao Carlos - Caixa Postal, Sao Carlos-SP-Brasil
Sushil Bajracharya  University of California, Irvine
Joel Ossher  University of California, Irvine
Paulo Cesar Masiero  ICMC/USP - Sao Carlos - Caixa Postal, Sao Carlos-SP-Brasil
Cristina Lopes  University of California, Irvine
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 66,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1529282.1529384
What is a DOI?

ABSTRACT

Software developers spend considerable effort implementing auxiliary functionality used by the main features of a system (e.g. compressing/decompressing files, encryption/decription of data, scaling/rotating images). With the increasing amount of open source code available on the Internet, time and effort can be saved by reusing these utilities through informal practices of code search and reuse. However, when this type of reuse is performed in an ad hoc manner, it can be tedious and error-prone: code results have to be manually inspected and extracted into the workspace. In this paper we introduce the use of test cases as an interface for automating code search and reuse and evaluate its applicability and performance in the reuse of auxiliary functionality. We call our approach Test-Driven Code Search (TDCS). Test cases serve two purposes: (1) they define the behavior of the desired functionality to be searched; and (2) they test the matching results for suitability in the local context. We present CodeGenie, an Eclipse plugin that performs TDCS using a code search engine called Sourcerer. Our evaluation presents evidence of the applicability and good performance of TDCS in the reuse of auxiliary functionality.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Scrapheap Challenge Workshop, OOPSLA 2005. http://www.postmodernprogramming.org/scrapheap/workshop.
 
2
Koders web site. http://www.koders.com.
 
3
Google Code Search. http://www.google.com/codesearch.
 
4
Sourcerer web site. http://sourcerer.ics.uci.edu.
5
 
6
7
 
8
9
 
10
 
11
O. Hummel and C. Atkinson. Agile Processes in Software Engineering and Extreme Programming, chapter Supporting Agile Reuse Through Extreme Harvesting, pages 28--37. Springer-Verlag, 2007.
 
12
IEEE. IEEE Standard Glossary of Software Engineering Terminology. New York, 1990. IEEE Computer Society Press.
13
 
14
15
 
16
M. D. McIlroy. Mass produced software components. In P. Naur and B. Randell, editors, Proc. of NATO Softw. Eng. Conference, pages 138--150. Garmisch, Germany, 1969.
 
17
18
 
19
 
20
 
21


Collaborative Colleagues:
Otávio Augusto Lazzarini Lemos: colleagues
Sushil Bajracharya: colleagues
Joel Ossher: colleagues
Paulo Cesar Masiero: colleagues
Cristina Lopes: colleagues