Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » scout » Recommendation Models for Scout?
Recommendation Models for Scout? [message #670000] Thu, 12 May 2011 11:43 Go to next message
Marcel Bruch is currently offline Marcel Bruch
Messages: 230
Registered: July 2009
Senior Member
Hi Scout Team,

from the discussions we had at EclipseCon and your presentation of Scout I recognized that you already have a quite large body of example applications that use Scout APIs. I wonder whether the Scout team would be interested to share this (anonymized) usage data with the Code Recommenders project to see how well Code Recommenders works with Scout?

My goal is to generate the models for various Code Recommenders completion engines for Scout as well as several extended API usage statistics, documentation etc. (which would BTW fit nicely with our current GSOC project).

Interested?





tw: @MarcelBruch
tw: @Recommenders
Re: Recommendation Models for Scout? [message #670250 is a reply to message #670000] Fri, 13 May 2011 08:30 Go to previous messageGo to next message
Matthias Zimmermann is currently offline Matthias Zimmermann
Messages: 81
Registered: February 2010
Member
interested? indeed!

the best outcome would be to have code recommending for scout within the scout package. however, i guess it will take a substantial amount of scout code to get any useful result.

the challange will most likely be the legal part of this as we will need to harvest the code from existing customer projects. we will have to be absolutely sure that no customer specific implementation detail will 'leak' to the scout code recommening mechanism.

could you please point us to the working of the mechanisms used to harvest existing code bases, anonymisations performed, and generation of the 'learning' part of code recommenders

thanks
(no subject) [message #670527 is a reply to message #670250] Sat, 14 May 2011 18:18 Go to previous message
Marcel Bruch is currently offline Marcel Bruch
Messages: 49
Registered: July 2009
Member
Hi Matthias,

On 13.05.11 10:30, Matthias Zimmermann wrote:
> interested? indeed!
> the best outcome would be to have code recommending for
> scout within the scout package.

That's exactly what we have in mind. Great!

> could you please point us to the working of the mechanisms
> used to harvest existing code bases, anonymisations
> performed, and generation of the 'learning' part of code
> recommenders


The simplest/most straight-forward approach is as follows:


1. You create a separate workspace containing all example projects you
wish to analyze (i.e., all applications you have that use Scout APIs).

2. Next you add the code recommenders nature to these projects. This is
simply done by selecting all projects and choosing "Add Recommenders
Nature to project" from context menu.

Thereafter, a full workspace build is performed any all analyzes are run
on your code. This may take a while depending on the size of your
workspace. After the workspace build is done, for each Java class a
corresponding JSON file is created in
<project-name>/.recommenders/data/<Java Class Name>/ folders. These
files contain the data we use to create recommendation models from.


3. Next, we need these JSON files to create models from, i.e., you need
to send these files to our server. So far we have no tool support for
this. But creating a simple export wizard that collects the codes
summaries, anonymizes the data, and sending them to the server should be
straight-forward.

Regarding anonymized data. The bare minimum we need to generate models
for Scout contains the following information:

For each variable in code we find, we collect
(ii) the set of methods that have been invoked on it
(iii) the context, i.e., the name of the (framework) method we observed
the calls.

Is this anonynous enough? We may come up with a simple export Wizard that
(i) anonymizes the data,
(ii) shows a export preview to let you see what is actually shared with
the community, and finally
(iii) creates a zip file which you can send per email

in just a week or two. Andreas Frankenberger is already working on such
an approach to support Android (see
http://code-recommenders.blogspot.com/2011/04/say-hello-andr oid.html).

Please let me know what you think.

Marcel
Previous Topic:Logging in Scout Framework
Next Topic:Access a Scout Service from another servlet
Goto Forum:
  


Current Time: Tue Oct 21 02:22:12 GMT 2014

Powered by FUDForum. Page generated in 0.01898 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software