skip to main content
10.1145/1297846.1297944acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

CodeGenie:: a tool for test-driven source code search

Published: 20 October 2007 Publication History

Abstract

We present CodeGenie, a tool that implements a test-driven approach to search and reuse of code available on largescale code repositories. With CodeGenie, developers designtest cases for a desired feature first, similar to Test-driven Development (TDD). However, instead of implementing the feature from scratch, CodeGenie automatically searches foran existing implementation based on information available in the tests. To check the suitability of the candidate results in the local context, each result is automatically woven into the developer's project and tested using the original tests. The developer can then reuse the most suitable result. Later, reused code can also be unwoven from the project as wished. For the code searching and wrapping facilities, CodeGenie relies on Sourcerer, an Internet-scale source code infrastructure that we have developed.

References

[1]
Koders web site. http://www.koders.com.
[2]
Krugle web site. http://www.krugle.com.
[3]
Google Code Search. http://www.google.com/codesearch.
[4]
Sourcerer web site. http://sourcerer.ics.uci.edu.
[5]
S. Bajracharya, T. Ngo, E. Linstead, Y. Dou, P. Rigor, P. Baldi, and C. Lopes. Sourcerer: a search engine for open source code supporting structure-based search. In OOPSLA '06: Companion to the 21st ACM SIGPLAN OOPSLA, pages 681--682, New York, NY, USA, 2006. ACM Press.
[6]
K. Beck. Test Driven Development: By Example. Addison-Wesley Professional, November 2002.

Cited By

View all
  • (2023)Big Code Search: A BibliographyACM Computing Surveys10.1145/360490556:1(1-49)Online publication date: 26-Aug-2023
  • (2023)deGraphCS: Embedding Variable-based Flow Graph for Neural Code SearchACM Transactions on Software Engineering and Methodology10.1145/354606632:2(1-27)Online publication date: 30-Mar-2023
  • (2021)Work in Progress: An Automated Management System for References in Programming Code2021 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON46332.2021.9454112(1301-1305)Online publication date: 21-Apr-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '07: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
October 2007
241 pages
ISBN:9781595938657
DOI:10.1145/1297846
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 October 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. source code reuse
  2. source code search
  3. test-driven development
  4. test-first

Qualifiers

  • Article

Conference

OOPSLA07
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Big Code Search: A BibliographyACM Computing Surveys10.1145/360490556:1(1-49)Online publication date: 26-Aug-2023
  • (2023)deGraphCS: Embedding Variable-based Flow Graph for Neural Code SearchACM Transactions on Software Engineering and Methodology10.1145/354606632:2(1-27)Online publication date: 30-Mar-2023
  • (2021)Work in Progress: An Automated Management System for References in Programming Code2021 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON46332.2021.9454112(1301-1305)Online publication date: 21-Apr-2021
  • (2020)Source Code Indexing for Component ReuseMining Software Engineering Data for Software Reuse10.1007/978-3-030-30106-4_5(101-132)Online publication date: 31-Mar-2020
  • (2020)Theoretical Background and State-of-the-ArtMining Software Engineering Data for Software Reuse10.1007/978-3-030-30106-4_2(13-43)Online publication date: 31-Mar-2020
  • (2018)A language-agnostic model for semantic source code labelingProceedings of the 1st International Workshop on Machine Learning and Software Engineering in Symbiosis10.1145/3243127.3243132(36-44)Online publication date: 3-Sep-2018
  • (2018)Evaluating how developers use general-purpose web-search for code retrievalProceedings of the 15th International Conference on Mining Software Repositories10.1145/3196398.3196425(465-475)Online publication date: 28-May-2018
  • (2018)Statistical Translation of English Texts to API Code Templates2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2018.00029(194-205)Online publication date: Sep-2018
  • (2017)Understanding the impact of support for iteration on code searchProceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3106293(774-785)Online publication date: 21-Aug-2017
  • (2017)A Similarity-Based Method Retrieval Technique to Improve Effectiveness in Code SearchCompanion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming10.1145/3079368.3079372(1-3)Online publication date: 3-Apr-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media