Parseweb
- 5 November 2007
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 204-213
- https://doi.org/10.1145/1321631.1321663
Abstract
Programmers commonly reuse existing frameworks or libraries to reduce software development efforts. One common problem in reusing the existing frameworks or libraries is that the programmers know what type of object that they need, but do not know how to get that object with a specific method sequence. To help programmers to address this issue, we have developed an approach that takes queries of the form "Source object type → Destination object type" as input, and suggests relevant method-invocation sequences that can serve as solutions that yield the destination object from the source object given in the query. Our approach interacts with a code search engine (CSE) to gather relevant code samples and performs static analysis over the gathered samples to extract required sequences. As code samples are collected on demand through CSE, our approach is not limited to queries of any specific set of frameworks or libraries. We have implemented our approach with a tool called PARSEWeb, and conducted four different evaluations to show that our approach is effective in addressing programmer's queries. We also show that PARSEWeb performs better than existing related tools: Prospector and StrathconaKeywords
This publication has 8 references indexed in Scilit:
- SourcererPublished by Association for Computing Machinery (ACM) ,2006
- XSnippetPublished by Association for Computing Machinery (ACM) ,2006
- Detecting similar Java classes using tree algorithmsPublished by Association for Computing Machinery (ACM) ,2006
- MAPOPublished by Association for Computing Machinery (ACM) ,2006
- Jungloid miningPublished by Association for Computing Machinery (ACM) ,2005
- Using structural context to recommend source code examplesPublished by Association for Computing Machinery (ACM) ,2005
- How software engineers use documentation: the state of the practiceIEEE Software, 2003
- Supporting reuse by delivering task-relevant and personalized informationPublished by Association for Computing Machinery (ACM) ,2002