Conference Paper

SUITE 2010: 2nd International Workshop on Search-Driven Development - Users, Infrastructure, Tools & Evaluation

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

SUITE} is a workshop that focuses on exploring the notion of search as a fundamental activity during software development. The first edition of {SUITE} ({SUITE} 2009 [4]) was held at {ICSE} 2009. {SUITE} 2010, like its predecessor, devotes its attention to various research topics pertaining to the information needs of software developers. In {SUITE} 2010, we plan to emphasize open issues identified in {SUITE} 2009. We aim to continue building an active network of people interested in the research area that {SUITE} addresses.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Recently results from some research show that frequently software developers spend time in searching for source-code [1]. That is the fundamental key by there has been considerable effort from both academia and industry in building specialized information retrieval (IR) systems for software developers. ...
Article
Full-text available
In the last few years, software developers habits of search-ing good source-code to reuse or rewrite, has increased the community's interest to improve it and some researchers are staring to refer to as search-driven development (SDD). In this position paper we examine SDD as a collaborative and commonplace task. However, current SDD research and tools are generally considered an individual activity and do not include support for explicit collaboration among de-velopers with shared technical information need. We then introduce COSME, a NetBeans IDE plugin that enables teams of remote developers to collaborate in real time during source-code search sessions. COSME improves the SDD by supporting several collaborative information retrieval tech-niques such as search sessions persistence, division of labor, sharing of knowledge and awareness.
Conference Paper
This paper sketches a research path that seeks to examine the search for suitable code problem, based on the observation that when code retargeting is included within a code search activity, developers can justify the suitability of these results upfront and thus reduce their searching efforts looking for suitable code. To support this observation, this paper introduces the Snippet Retargeting Approach, or simply SNIPR. SNIPR complements code search with code retargeting capabilities. These capabilities' intent is to help expedite the process of determining if a found example is a best fit. They do that by allowing developers to explore code modification ideas in place, without requiring to leave the search interface. With SNIPR, developers engage in a virtuous loop where they find code, retarget code, and select only code choices they can justify as suitable. This assures immediate feedback on retargeted examples and thus saves valuable time searching for appropriate code.
Conference Paper
SUITE} is a workshop that focuses on exploring the notion of search as a fundamental activity during software development. The first two editions of {SUITE} were held at {ICSE} 2009/2010 [1, 2], and they have focused on the building of a research community that brings researchers and practioners who are interested in the research areas that {SUITE} addresses. While this thrid workshop continues the effort of community building, it puts more focus on addressing directly some of the urgent issues identified by previous two workshops, encouraging researchers to contribute to and take advantage of common datasets that we have started assembling for {SUITE} research.
Conference Paper
Full-text available
SUITE is a new workshop series that specifically focuses on exploring the notion of search as a fundamental activity during software development. The goal of the workshop is to bring researchers and practitioners with special interest on search technology for software developers together. Participants will have broad range of expertise in topics ranging from building software tools and infrastructure, Information Retrieval, user studies and Human-computer interaction, benchmarking and evaluation. The first edition of SUITE is held in conjunction with the 31st International Conference in Software Engineering (May 16th, 2009. Vancouver, Canada).
Conference Paper
Full-text available
We present Sourcerer, a search engine for open-source code. Sourcerer extracts fine-grained structural information from the code and stores it in a relational model. This information is used to implement a basic notion of CodeRank and to enable search forms that go beyond conventional keyword-based searches.
Conference Paper
Full-text available
Reuse of existing libraries simplifies software development efforts. However, these libraries are often complex and reusing the APIs in the libraries involves a steep learning curve. A programmer often uses a search engine such as Google to discover code snippets involving library usage to perform a common task. A problem with search engines is that they return many pages that a programmer has to manually mine to discover the desired code. Recent research efforts have tried to address this problem by automating the generation of code snippets from user queries. However, these queries need to have type information and therefore require the user to have a partial knowledge of the APIs. We propose a novel code search technique, called SNIFF, which retains the flexibility of performing code search in plain English, while obtaining a small set of relevant code snippets to perform the desired task. Our technique is based on the observation that the library methods that a user code calls are often well-documented. We use the documentation of the library methods to add plain English meaning to an otherwise undocumented user code. The annotated user code is then indexed for the purpose of free-form query search. Another novel contribution of our technique is that we take a type-based intersection of the candidate code snippets obtained from a query search to generate a set of small and highly relevant code snippets. We have implemented SNIFF for Java and have performed evaluations and user studies to demonstrate the utility of SNIFF. Our evaluations show that SNIFF performed better than most of the existing online search engines as well as related tools.
Conference Paper
Full-text available
We present CodeGenie, a tool that implements a test-driven approachto search and reuse of code available on large-scale coderepositories. While using CodeGenie developers design test cases fora desired feature first, similar to Test-driven Development (TDD).However, instead of implementing the feature as in TDD, CodeGenieautomatically searches for it based on information available in thetests. To check the suitability of the candidate results in thelocal context, each result is automatically woven into thedeveloper's project and tested using the original tests. Thedeveloper can then reuse the most suitable result. Later, reusedcode can also be unwoven from the project as wished. For the codesearching and wrapping facilities, CodeGenie relies on Sourcerer, anInternet-scale source code infrastructure that we have developed
Article
This paper presents work practice data of the daily activities of software engineers. Four separate studies are presented; one looking longitudinally at an individual SE; two looking at a software engineering group; and one looking at company-wide tool usage statistics. We also discuss the advantages in considering work practices in designing tools for software engineers, and include some requirements for a tool we have developed as a result of our studies. 1. Introduction The Knowledge Based Reverse Engineering Project's goal is to provide software engineers (SEs) in an industrial telecommunications group with a toolset to help them maintain their system more effectively. To achieve this goal, we have adopted a user-centered design approach to tool development [6, 7, 8]. However, unlike traditional user-centered approaches, we have focused on the SEs' work-practices. This represents a new approach [15] to tool design. This approach borrows from several different fields in an effort...