RootDiscoverApplication frameworks have become an integral part of today's software development - this is hardly surprising given their promised benefits such as reduced costs, higher quality, and shorter time to market. But using an application framework is not free of cost. Before frameworks can be used efficiently, software developers have to learn their correct usage which often results in high initial training costs. Code Recommenders supports developers on learning new APIs by providing tools which learn correct API usages or valuable API usage patterns by analyzing example code and re-integrates this regained knowledge back into your IDE by means of intelligent code completion, extended javadocs, smart bug detectors, stacktrace search engines and others... Download Code RecommendersForums: eclipse.recommenders[nntp]Code Recommenders Newsgroup EngageEngage with the project. Get the code. Build products based on this technology.Scope: One of the major goals of this project is to make a new generation of tool ideas accessible and usable by the Eclipse community, to further improve these tools based on the user feedback obtained or even to build completely new tools based on the experiences and developer needs. So far, a couple of steps towards IDE 2.0 have been accomplished, some of which we will describe briefly in Section "Initial Contributions". These tools, however, have to prove themselves as being useful. To allow this evaluation this project aims to (i) provide a platform for innovative IDE features that leverage the wisdom of the crowds, (ii) build a very vibrant community around IDE 2.0 services based on Eclipse, and (iii) provide an open platform allowing every community member to actively contribute to these services and to build and evaluate new tools based on the data contributed by the community itself. The initial scope of this project is to provide tools for the following topics: Intelligent Code Completion Systems: Code Completion Systems pretty good in showing a developer all possible completions in a given context. However, sometimes these proposals can be overwhelming for novice developers. Goal of this project is to develop completion engines that leverage the information how other developers used certain types in similar context and thus are capable to filter OR rearrange proposals according to some relevance criterion (similar to Mylyn's Context model but learning this relevance judgment based on how thousands of users used a given API). read more... Smart Template Engines: The well-known SWT Templates are pretty helpful for developers not familiar with all details of SWT. Unfortunately creating such templates is a tedious and time-consuming task. Consequently the number of such code templates is rather small. However, code of existing applications contains hundreds of frequently reoccurring code snippets that can be extracted and shared among developers. This project will provide tools that support developers finding (for instance) method call chains for situations like "How do I get an instance of IStatusLineManager inside a ViewPart" and will allow them to share such templates with other developers. Crowd-sourced and Usage-Driven API Documentation: API documentation, independent of how much time has been spent on writing them, lacks the information how developers actually use these APIs. This information, however, can be easily extracted from code that uses the APIs in questions, and thus could be used to enrich existing API documentation with real usage driven documentation. Code Recommenders aims to develop tools for finding and sharing this kind of knowledge among developers. read more... Stacktrace Search Engine: Exceptions occur. Apache Maven, for instance, reflects this reality by providing wiki pages for frequently occurring build exceptions which aim to explain why these exceptions may have occurred during a Maven build and how to fix them. This concept is a pretty neat idea but its potential is not exhausted yet. Currently the matching between an exception occurring during a build and a wiki page is done based on the type of the exception (e.g., BuildException, IllegalArgumentException'etc.) This matching is rather coarse-grained and neglects the fact that the same exception might occur in many different locations and may be caused by many different reasons. First experimental results have shown that leveraging much more information like the stackframe elements and exceptions messages etc. yield to a system that is capable to find very similar exceptions and thus allows building a new kind of search engine for stacktraces. This project aims to develop such a stacktrace search engine and provide integrations of this engine into existing web platforms like the Eclipse forums and others. API Misuse / Bug Detector: When using APIs unfamiliar with we often misuse a given API, i.e., we forget to call certain methods or pass wrong parameters to a method call etc. These mistakes are hard to find and debug. Tools like PMD and FindBugs do a great job on finding issues like NULL pointers, or recommend overriding hashCode along with equals but aren't a big help if framework specific usage rules are violated. However, research tools exist that are capable to find strange API uses, i.e., usages which significantly differ from how most people used a certain API and thus may indicate possibly bugs in code. This project aims to provide an evaluation for such tools and will provide an initial system as baseline. read more However, the scope of the recommenders project is not limited to such kind of tools and encourages the community discuss new ideas of tools that might be helpful for software engineers. Contribute to this project: Create a new bug/issue reportYou can use the code from these repositories to experiment, test, build, create patches, issue pull requests, etc. This project uses Gerrit Code Review; please see contributing via Gerrit.recommendersEclipse Code Recommenders http://eclipse.org/recommenders/Clone this repository:https://git.eclipse.org/r/p/recommenders/org.eclipse.recommendersReview with GerritClone from Google SourceFork on GitHubReleases: Explore all 4 releases. NameDate 1.0.42013-05-01 1.0.32013-01-15 1.0.22012-11-14 Commit Activity: Commits on this project (lifetime).Developer Mailing List: recommenders-devThe project's "dev-list" is intended for project-related communications among project developers. ParticipateParticipate in the project. Contribute patches. Become a committer.BuildBuild Technologies: HudsonMavenTychoBuild Documentation: http://wiki.eclipse.org/Recommenders/BuildingFromSource Individual Commit Activity: Commits on this project by individuals over the last three months.Organization Commit Activity: Commits on this project by supporting organization over the last three months.Reviews: NameDate 1.0.0 Release Review2012-06-20 0.5 Release2012-02-15 Creation2010-12-15 Licenses: Eclipse Public License 1.0 ExploreTechnology Types: OSGiToolsSubprojects: Technology ProjectCode RecommendersCode Recommenders Incubator