Skip to main content



      Home
Home » Eclipse Projects » Eclipse Scout » Recommendation Models for Scout?
Recommendation Models for Scout? [message #670000] Thu, 12 May 2011 07:43 Go to next message
Eclipse UserFriend
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?



Re: Recommendation Models for Scout? [message #670250 is a reply to message #670000] Fri, 13 May 2011 04:30 Go to previous messageGo to next message
Eclipse UserFriend
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 14:18 Go to previous message
Eclipse UserFriend
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: Sun Mar 16 03:35:12 EDT 2025

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

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

Back to the top