Recommendation Models for Scout? [message #670000] |
Thu, 12 May 2011 07:43  |
Eclipse User |
|
|
|
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?
|
|
|
|
(no subject) [message #670527 is a reply to message #670250] |
Sat, 14 May 2011 14:18  |
Eclipse User |
|
|
|
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
|
|
|
Powered by
FUDForum. Page generated in 0.03415 seconds