ISR banner
 
ISR Subtitle Bar

Home  |   People  |   Research  |   Publications  |   Tech Transition  |   Events  |   Partnerships  |   About ISR  |   Contact Us

ISR Reseach Forum 2007 Banner graphic
 

CodeGenie: a Tool for Test-Driven Source Code Search

Visitor: Otavio Lemos, UC Irvine/SICS

 

Students: Sushil Bajracharya UC Irvine/ISR, Joel Ossher, UC Irvine/ISR

 

Advisor: Cristina Videira Lopes, UC Irvine/ISR


Abstract: The large-scale availability of free/open source software on the internet combined with the advent of online code search engines has opened up new opportunities for code search and reuse. However, the process of formulating queries, filtering the results, and finally modifying and integrating them into the developer's workspace is still painstakingly laborious. We present CodeGenie, a plugin for the Eclipse IDE, which makes this task a snap. CodeGenie introduces a novel approach towards code search and reuse called 'Test-Driven Source Code Search'. Similar to Test-driven Development, developers start with failing test cases designed to test implementations that they expect to find by searching for them on the internet. From these test cases, CodeGenie automatically formulates appropriate queries using smart keyword and code-structure extraction. The queries are then sent to a source code search engine called Sourcerer that we have developed. Sourcerer returns multiple results, each containing a compilable slice of code that can be composed with the current project. Codegenie allows any of these slices to be easily merged and unmerged from the existing project where the test cases reside. Codegenie also supports different testing techniques, such as code coverage, to help the developer in choosing an implementation.


Bio:

Otavio Lemos

Otávio Augusto Lazzarini Lemos received his BS in computer science from the Federal University of Mato Grosso do Sul (DCE/UFMS), Brazil in 2002, and his MS degree in computer science and mathematical computing from the University of São Paulo at São Carlos (ICMC/USP), Brazil in 2005. From August/2005 until December/2005 he was a professor from the Methodist University of São Paulo at São Bernardo (UMESP), Brazil. He is a Phd candidate in computer science and computing mathematics at ICMC/USP, currently visiting UC Irvine as a research scholar. His research interests are in the topics of software testing and software development technologies. Besides his research, he enjoys playing jazz guitar, swimming and playing soccer.


Sushil Bajracharya

Sushil Bajracharya is a graduate student of Informatics in the Donald Bren School of ICS at UCI. He enjoys working with his advisor Cristina Lopes on interesting problems in designing languages, tools and software, and, contemplating the implications they have on software engineering at large. He actively collaborates with his co-conspirators in the mondego group to make research as much fun as possible.


Sushil spent all his life in the exotic Kathmandu valley in Nepal before coming to UCI. In past, he has worked as a teacher, software developer and a hobbyist designer for music album covers. He holds an undergraduate degree in computer engineering from Kathmandu University and a MS degree in Informatics from UC Irvine. Besides his research he enjoys music, cooking and fine Belgium beers.


Joel Ossher

Joel Ossher is currently a graduate student studying Informatics at the Donald Bren School of ICS at UCI. When not taking classes, he enjoys working with his advisor Cristina Lopes on problems relating to programming language tools and their implications for software engineering.

Although born on the west coast, Joel grew up and lived in New York before coming out to UC Irvine. In 2006 he received a BA in Computer Science and Psychology from Cornell University in chilly Ithaca. When not working, he amuses himself by cooking, bowling and wasting time on the internet.