Selene: a source code recommendation tool

Selene is a source code recommendation tool that spontaneously displays code fragments relevant to a program being edited in the Eclipse IDE.

Its key features are:

  • Spontaneous recommendation: Selene displays several number of code fragments automatically. Search is triggered by certain edit operations of the user on an Eclipse editor pane, and the fragments are refreshed according to the search result, so there is no need to trigger search by hand.
  • 2-stage fast source code to source code search: Selene first searches relevant source files in a repository, and then, from the topmost several number of relevant source files, it searches most relevant parts within each source file and displays them as a recommendation. The first search employs a cosine similarity based search technique for finding relevant source files, and this makes Selene fast enough to be used with a large repository consisting of more than a hundred thousand source files.
  • Language independent search: Because the search technique used in Selene is based on cosine similarity between two source files, which has a long tradition in the natural language processing area, Selene can search source code of any programming language.
  • Server-client architecture: Selene consists of two parts, the server side and the client side. The server side is mainly for searching and storing source code, and the client side works as the front-end to the user and is integrated with Eclipse as a plugin. You can split and install them on different machines, and of course to install them on the same machine is also possible.

People

Publications

  • Naoya Murakami, Hidehiko Masuhara, Tomoyuki Aotani, 2014, “A Source Code Recommendation System Based on Degree of Interest”
    • SIGSE183th
  • Naoya Murakami, Hidehiko Masuhara, Tomoyuki Aotani, 2013, “A Source Code Recommendation System Based on Degree of Interest”
    • JSSST2013
  • Hidehiko Masuhara,Naoya Murakami, and Takuya Watanabe, 2012, “Duplication Removal for a Search-Based Recommendation System”
    • Proceedings of 3rd International Workshop on Search-driven development: Users, Infrastructure, Tools and Evaluation (SUITE’12), June 5 2012.
  • Naoya Murakami, Hidehiko Masuhara, and Takuya Watanabe, 2012, “Optimizing a Search-Based Code Recommendation System”
    • Proceedings of 3rd International Workshop on Recommendation Systems for Software Engineering (RSSE’12), June 4 2012.
  • Takuya Watanabe and Hidehiko Masuhara, 2011, “A spontaneous code recommendation tool based on associative search”
    • Proceedings of 3rd International Workshop on Search-driven development: Users, Infrastructure, Tools and Evaluation (SUITE’11), May 28 2011.
  • WATANABE Takuya and Hidehiko Masuhara, 2009, “Spontaneous source code recommendation tool based on text search techniques”
    • Microsoft Research Asia (MSRA) 2009 Annual Workshop of IJARC
    • short presentation and demonstration
  • Hidehiko Masuhara and Takuya Watanabe, 2008, “Spontaneous source code recommendation tool based on text search techniques”
    • Microsoft Research Asia (MSRA) Regional Workshop on Web-Scale Natural Language Processing
    • poster presentation

Download

  • Selene version 1.4.0
  • Selene version 1.3.0