Prospector: a programmer's search engine based on jungloid mining:
Software developers try to reuse existing code when possible, but reuse is often difficult because APIs are complex and the required client code to use the API can be hard to write. We identify a common type of problematic client code, jungloids, which are unary expressions. We describe a simple query language programmers can use to find jungloids, and search techniques that use both type
signatures and examples to answer queries. We implemented a prototype jungloid search tool, Prospector, based on these techniques. In a test of query processing accuracy, Prospector found the desired jungloid for 17 of 20 queries. We also evaluated Prospector in a pilot user study and found evidence that it helps programmers reuse libraries faster and more reliably.