Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Google Summer of Code 2011 Ideas"

(Add 'EGit Sycnhronize View support part 2' proposal)
(IEE - Integrated Engineering Environment)
(48 intermediate revisions by 25 users not shown)
Line 4: Line 4:
 
*Be specific: what do you want to be implemented  
 
*Be specific: what do you want to be implemented  
 
*If you are willing to mentor those ideas, add your name and email to the idea.  
 
*If you are willing to mentor those ideas, add your name and email to the idea.  
*GSoC project ideas should align with an existing Eclipse project
+
*GSoC project ideas should align with an existing Eclipse project  
 
*If you're an interested student, add your name and email next to the idea. '''It is ok to have several students interested in one idea.'''  
 
*If you're an interested student, add your name and email next to the idea. '''It is ok to have several students interested in one idea.'''  
 
*'''Aspiring students''' and mentors '''need to register and submit their proposals on the [http://socghop.appspot.com/ SoC app]'''
 
*'''Aspiring students''' and mentors '''need to register and submit their proposals on the [http://socghop.appspot.com/ SoC app]'''
  
== Mentors info ==
+
== Mentors info ==
  
If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").
+
If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").  
  
Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to [mailto:emo@eclipse.org EMO].
+
Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to [mailto:emo@eclipse.org EMO].  
  
== Ideas submission ==
+
== Ideas submission ==
Idea proposal should contain the following information:
+
* project title, like "WTP - Improve auto-complete in xml editor"
+
* description with links to bug reports, project wiki pages, etc
+
* Reporter: who submitted idea (optional e-mail)
+
* Possible Mentors: who would like to mentor the students
+
* More info: other links or e-mail
+
* Eclipse Project: link to main eclipse project that improvement is targeting
+
* Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.
+
  
=Ideas=
+
Idea proposal should contain the following information:
  
These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).
+
*project title, like "WTP - Improve auto-complete in xml editor"
 +
*description with links to bug reports, project wiki pages, etc
 +
*Reporter: who submitted idea (optional e-mail)
 +
*Possible Mentors: who would like to mentor the students
 +
*More info: other links or e-mail
 +
*Eclipse Project: link to main eclipse project that improvement is targeting
 +
*Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.
  
There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "[https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=REOPENED&columnlist=bug_severity%2Cpriority%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cvotes&field0-0-0=classification&field0-1-0=short_desc&field0-1-1=short_desc&keywords=helpwanted&keywords_type=allwords&negate0=1&query_format=advanced&type0-0-0=equals&type0-1-0=allwords&type0-1-1=allwords&value0-0-0=Mylyn&value0-1-0=%5Bconnector%5D&value0-1-1=%5Bbridge%5D helpwanted]" that may give you ideas.
+
= Ideas =
  
==EGit / JGit - git-blame support==
+
These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).  
It's about adding support for [http://www.kernel.org/pub/software/scm/git/docs/git-blame.html "git blame"] in [http://www.eclipse.org/jgit JGit] (git library in Java) and
+
[http://www.eclipse.org/egit EGit] (Eclipse integration and UI). There is an [http://egit.eclipse.org/r/#change,1476 early proposed draft] for the jgit part
+
by Benjamin Muskalla which is based on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=306161 prior work] from Manuel Woelker
+
but there wasn't much progress on that in the last months.
+
  
If you are interested to have a closer look refer to the [http://wiki.eclipse.org/EGit/Contributor_Guide EGit Contributor Guide] to find out how to setup
+
There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "[https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=REOPENED&columnlist=bug_severity%2Cpriority%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cvotes&field0-0-0=classification&field0-1-0=short_desc&field0-1-1=short_desc&keywords=helpwanted&keywords_type=allwords&negate0=1&query_format=advanced&type0-0-0=equals&type0-1-0=allwords&type0-1-1=allwords&value0-0-0=Mylyn&value0-1-0=%5Bconnector%5D&value0-1-1=%5Bbridge%5D helpwanted]" that may give you ideas.  
your environment for contributing and maybe try to fix some low hanging fruit
+
from our bug list to get a feeling what these projects are all about.  
+
  
* Reporter: Chris Aniszczyk
+
== EGit / JGit - git-blame support ==
* Possible Mentors: Chris Aniszczyk, Matthias Sohn
+
* More info: [mailto:egit-dev@eclipse.org EGit mailing list]
+
* Eclipse Project: [http://eclipse.org/egit '''EGit''']
+
* Potential students: TBD
+
  
==Acceleo - Export profiling data to gprof==
+
It's about adding support for [http://www.kernel.org/pub/software/scm/git/docs/git-blame.html "git blame"] in [http://www.eclipse.org/jgit JGit] (git library in Java) and [http://www.eclipse.org/egit EGit] (Eclipse integration and UI). There is an [http://egit.eclipse.org/r/#change,1476 early proposed draft] for the jgit part by Benjamin Muskalla which is based on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=306161 prior work] from Manuel Woelker but there wasn't much progress on that in the last months.
  
Acceleo has a nice profiling model, so it could be nice to be able to export this data to gprof files so that the user can leverage
+
If you are interested to have a closer look refer to the [http://wiki.eclipse.org/EGit/Contributor_Guide EGit Contributor Guide] to find out how to setup your environment for contributing and maybe try to fix some low hanging fruit from our bug list to get a feeling what these projects are all about.  
other more sophisticated tools to analyse the trace. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=293304 bug 293304].
+
If you want to know more about the profiling in Acceleo see the [http://www.obeonetwork.com/acceleo/3.0.2/user-guide#HProfilinganAcceleoGeneration user guide].
+
  
If you are interested to have a closer look refer to our [http://wiki.eclipse.org/Acceleo/Setup_Environment Contributor Guide] to find out how to setup
+
*Reporter: Chris Aniszczyk
your environment for contributing.
+
*Possible Mentors: Chris Aniszczyk, Matthias Sohn
 +
*More info: [mailto:egit-dev@eclipse.org EGit mailing list]
 +
*Eclipse Project: [http://eclipse.org/egit '''EGit''']  
 +
*Potential students: Alex Korotkikh [mailto:a.korotkikh@gmail.com], Stefanos Antaris [mailto:santaris@csd.auth.gr]
  
* Reporter: Mariot Chauvin
+
== Acceleo - Export profiling data to gprof ==
* Possible Mentors: Mariot Chauvin, Laurent Goubet, Cédric Brun
+
* More info: [mailto:m2t-dev@eclipse.org?subject=[Acceleo] About Export profiling data to gprof M2T mailing list]
+
* Eclipse Project: [http://www.eclipse.org/acceleo '''Acceleo''']
+
* Potential students: TBD
+
  
==EEF - Enhance the end user experience==
+
Acceleo has a nice profiling model, so it could be nice to be able to export this data to gprof files so that the user can leverage other more sophisticated tools to analyse the trace. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=293304 bug 293304]. If you want to know more about the profiling in Acceleo see the [http://www.obeonetwork.com/acceleo/3.0.2/user-guide#HProfilinganAcceleoGeneration user guide].
 +
 
 +
If you are interested to have a closer look refer to our [http://wiki.eclipse.org/Acceleo/Setup_Environment Contributor Guide] to find out how to setup your environment for contributing.
 +
 
 +
*Reporter: Mariot Chauvin
 +
*Possible Mentors: Mariot Chauvin, Laurent Goubet, Cédric Brun
 +
*More info: [mailto:m2t-dev@eclipse.org?subject=%5BAcceleo%5D About Export profiling data to gprof M2T mailing list]
 +
*Eclipse Project: [http://www.eclipse.org/acceleo '''Acceleo''']
 +
*Potential students: TBD
 +
 
 +
== EEF - Enhance the end user experience ==
  
 
EEF provides a three steps process to generate eye-candy user interface for your models. This process could be simplified by doing automatically several steps instead of asking the user to do it. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338939 bug 338939] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338942 bug 338942] for instance.  
 
EEF provides a three steps process to generate eye-candy user interface for your models. This process could be simplified by doing automatically several steps instead of asking the user to do it. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338939 bug 338939] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338942 bug 338942] for instance.  
  
A second part of the work is to create a EEF models designer. This designer would help EEF users to defines easily their UI models (with enhanced model presentation, drag'n'drop, ...) and to iterate in case of ecore model changes.
+
A second part of the work is to create a EEF models designer. This designer would help EEF users to defines easily their UI models (with enhanced model presentation, drag'n'drop, ...) and to iterate in case of ecore model changes.  
  
Finally the last part consists of link EEF and Eclipse [http://www.eclipse.org/windowbuilder/ WindowBuilder] in order to allow EEF user to define their views with the WYSIWYG editor of WindowBuilder.
+
Finally the last part consists of link EEF and Eclipse [http://www.eclipse.org/windowbuilder/ WindowBuilder] in order to allow EEF user to define their views with the WYSIWYG editor of WindowBuilder.  
  
If you are interested to have a closer look refer to our [http://wiki.eclipse.org/EEF/Developer_Guide Developer Guide] to find out how to setup
+
If you are interested to have a closer look refer to our [http://wiki.eclipse.org/EEF/Developer_Guide Developer Guide] to find out how to setup your environment for contributing.  
your environment for contributing.
+
  
* Reporter: Mariot Chauvin
+
*Reporter: Mariot Chauvin  
* Possible Mentors: Mariot Chauvin, Goulwen Lefur
+
*Possible Mentors: Mariot Chauvin, Goulwen Lefur  
* More info: [mailto:emft-dev@eclipse.org?subject=[EEF] About enhancing end user experience EMFT mailing list]
+
*More info: [mailto:emft-dev@eclipse.org?subject=%5BEEF%5D About enhancing end user experience EMFT mailing list]  
* Eclipse Project: [http://www.eclipse.org/eef '''EEF''']
+
*Eclipse Project: [http://www.eclipse.org/eef '''EEF''']  
* Potential students: ?
+
*Potential students: Harshani Nawarathna (harshinianu@gmail.com)
  
== CDT - Build UI Improvements ==
+
== CDT - Build UI Improvements ==
  
 
Currently the CDT build UI is hidden away in Project Properties. We'd like to add nodes in the Project Explorer under each project to list the build configurations. Actions would be added to open up a build configuration editor to change the settings. Actions would be added for invoking build and clean, and for setting the default build and indexer configuration.  
 
Currently the CDT build UI is hidden away in Project Properties. We'd like to add nodes in the Project Explorer under each project to list the build configurations. Actions would be added to open up a build configuration editor to change the settings. Actions would be added for invoking build and clean, and for setting the default build and indexer configuration.  
Line 86: Line 80:
 
*More info: [mailto:cdt-dev@eclipse.org CDT Developer Mailing List]  
 
*More info: [mailto:cdt-dev@eclipse.org CDT Developer Mailing List]  
 
*Eclipse Project: [http://wiki.eclipse.org/CDT '''CDT WIKI'''] [http://www.eclipse.org/cdt '''CDT Main Web Site''']  
 
*Eclipse Project: [http://wiki.eclipse.org/CDT '''CDT WIKI'''] [http://www.eclipse.org/cdt '''CDT Main Web Site''']  
*Potential students: TDB , Isuru Udana (University of Moratuwa)
+
*Potential students: Igor 'sega' Siguta [mailto:segamanable@gmail.com segamanable@gmail.com]Daniel Lobato [mailto:elobatocs@gmail.com]
  
 
== CDT - CMake and/or Qt qmake Builder Integration  ==
 
== CDT - CMake and/or Qt qmake Builder Integration  ==
Line 98: Line 92:
 
*Potential students: TDB
 
*Potential students: TDB
  
==Mylyn==
+
== CDT - Static Analysis Checkers for C/C++ ==
  
Mylyn maintains a list of ideas on this the [http://wiki.eclipse.org/Mylyn_Contribution_Ideas Contribution Ideas] wiki page. If you have your own idea or if you interested in one of the suggested ideas please feel free to contact mylyn-dev@eclipse.org or join one of the [http://wiki.eclipse.org/Mylyn/Meetings weekly meetings].
+
Codan is a code analysis framework for CDT. The project goal is to create a framework for static analysis and checkers for C/C++. Looking for contributors to create checkers using CDT and Codan API for code style, program errors, security vulnerability, and so on. Project is extremely scalable (can be done by lots of students in parallel). Students should have strong background in compiler technologies and C/C++ (and Java/Eclipse obviously).  
  
* Reporter: Steffen Pingel
+
*Reporter: Alena Laskavaia
* Possible Mentors: Benjamin Muskalla, Steffen Pingel
+
*Possible Mentors: Alena Laskavaia
* Eclipse Project: [http://www.eclipse.org/mylyn/ '''Mylyn''']
+
*More info: [[CDT/designs/StaticAnalysis|Codan wiki]]. Mail to [mailto:cdt-dev@eclipse.org CDT Developer Mailing List]
* Potential students: ?
+
*Eclipse Project: [http://wiki.eclipse.org/CDT '''CDT'''] [http://www.eclipse.org/cdt '''CDT Main Web Site''']  
 +
*Potential students: TBD
  
==TPTP tools - Agent Controller on MAC OS==
+
== Mylyn ==
  
TPTP tools aleady run on a wide range of Linux and Unix flavors, but it doesn't work well on Mac OS. Deadly is that Mac OS is used widely in programmers. This problem first been proposed in 2004, nearly 6 years ago, more than 100 persons vote for this tool, See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=68111 bug 68111] to learn more. But to now, we have only finished partially ported for org.eclipse.tptp.platform.agentcontroller , i want to continue and speed up the development process about this topic, improve org.eclipse.tptp.platform.agentcontroller, finish org.eclipse.hyades.probekit,org.eclipse.tptp.platform.jvmti.runtime and org.apache.harmony_vmcore_verifier support on Mac OS.
+
Mylyn maintains a list of ideas on this the [http://wiki.eclipse.org/Mylyn_Contribution_Ideas Contribution Ideas] wiki page. If you have your own idea or if you interested in one of the suggested ideas please feel free to contact mylyn-dev@eclipse.org or join one of the [http://wiki.eclipse.org/Mylyn/Meetings weekly meetings].  
  
* Reporter: Stefan Tannenbaum
+
*Reporter: Steffen Pingel
* Possible Mentors: ?
+
*Possible Mentors: Benjamin Muskalla, Steffen Pingel
* Eclipse Project: [http://www.eclipse.org/tptp/index.php '''TPTP''']
+
*Eclipse Project: [http://www.eclipse.org/mylyn/ '''Mylyn''']  
* Potential students: Tiger Gui [mailto:tigergui1990@gmail.com tigergui1990@gmail.com]
+
*Potential students: Muslim Chochlov [mailto:muslim.chochlov@gmail.com muslim.chochlov@gmail.com]
  
==Sequoyah - Add multi-language support to Eclipse plugin projects using the Sequoyah Localization Editor==
+
== Equinox - Bndtools based OSGi bundles maker project ==
The Sequoyah project is focused on Mobile application development tools.  One of the components of Sequoyah is the Localization Files Editor (LFE), which is a visual editor for handling parallel resources for multi-language projects.  The LFE has a reference implementation for Android, although it was written in a way so that the model is abstracted from the underlying implementation.
+
  
We are proposing a feature for the Sequoyah Localization Framework, which will extend support to Eclipse plugin projects. In order to do that, the framework must be changed to handle PDE projects, which contain strings files in the Java .properties format.  The result will be a new set of editors that will allow Eclipse projects to localize themselves more easily.
+
I want to build a bndtools based OSGi bunlles maker project, it will help us analyse java application and split the whole project into several OSGi bundles. This tool can analyse source code, supply vari-size grained split and refactor suggestions, show the analyse result in a GUI view and we can change split solution manually, then it will split the project into several OSGi bundles/projects. I have started the development job for this tool, if you are interested, you can check [http://code.google.com/p/osgimaker/wiki/Bndtools_based_OSGi_bundles_maker_project project proposal details] and [http://code.google.com/p/osgimaker/wiki/Quick_Start online demo here];
  
The Eclipse Babel project has expressed interest in participating in this work.
+
*Reporter:  
 +
*Possible Mentors: ?
 +
*Eclipse Project: [http://www.eclipse.org/equinox '''Equinox''']
 +
*Potential students: Tiger Gui [mailto:tigergui1990@gmail.com tigergui1990@gmail.com]
  
* Reporter: Marcel Gorri
+
== Sequoyah - Add multi-language support to Eclipse plugin projects using the Sequoyah Localization Editor ==
* Possible mentors: Marcel Gorri, Werner Keil (Babel)
+
* More info: [mailto:sequoyah-dev@eclipse.org Sequoyah mailing list]
+
* Eclipse Project: [http://www.eclipse.org/sequoyah '''Sequoyah''']
+
* Potential students: TBD
+
  
==Eclipse Communication Framework==
+
The Sequoyah project is focused on Mobile application development tools. One of the components of Sequoyah is the Localization Files Editor (LFE), which is a visual editor for handling parallel resources for multi-language projects. The LFE has a reference implementation for Android, although it was written in a way so that the model is abstracted from the underlying implementation.
  
ECF is a framework for building distributed servers, applications, and tools. It provides a modular implementation of the OSGi 4.2 Remote Services standard, along with support for REST-based and SOAP-based remote services, and asynchronous messaging for remote services.
+
We are proposing a feature for the Sequoyah Localization Framework, which will extend support to Eclipse plugin projects. In order to do that, the framework must be changed to handle PDE projects, which contain strings files in the Java .properties format. The result will be a new set of editors that will allow Eclipse projects to localize themselves more easily.  
  
* [https://bugs.eclipse.org/bugs/buglist.cgi?keywords=helpwanted;query_format=advanced;keywords_type=allwords;bug_status=NEW;bug_status=REOPENED;product=ECF;classification=RT ECF "helpwanted" bugs]
+
The Eclipse Babel project has expressed interest in participating in this work.  
  
==Eclipse IDE for Education==
+
*Reporter: Marcel Gorri
 +
*Possible mentors: Marcel Gorri, Werner Keil (Babel)
 +
*More info: [mailto:sequoyah-dev@eclipse.org Sequoyah mailing list]
 +
*Eclipse Project: [http://www.eclipse.org/sequoyah '''Sequoyah''']
 +
*Potential students: Lucas DE CASTRO ([mailto:lucastdcj@gmail.com lucastdcj@gmail.com]); Everton Ferreira dos Santos (everton.ic08@gmail.com)
  
The Eclipse IDE for Education is a version of Eclipse streamlined specifically for use by university and college students. The environment provides support for programming languages that are commonly used in university courses, including Java, Scheme, and Prolog (though only Java is supported for the time being).
+
== Eclipse Communication Framework ==
  
* [https://bugs.eclipse.org/bugs/buglist.cgi?keywords=helpwanted;query_format=advanced;keywords_type=allwords;bug_status=NEW;bug_status=REOPENED;classification=Technology;product=IDE4EDU IDE4EDU "helpwanted" bugs]
+
ECF is a framework for building distributed servers, applications, and tools. It provides a modular implementation of the OSGi 4.2 Remote Services standard, along with support for REST-based and SOAP-based remote services, and asynchronous messaging for remote services.
 +
 
 +
*[https://bugs.eclipse.org/bugs/buglist.cgi?keywords=helpwanted;query_format=advanced;keywords_type=allwords;bug_status=NEW;bug_status=REOPENED;product=ECF;classification=RT ECF "helpwanted" bugs]
 +
 
 +
== Eclipse IDE for Education ==
 +
 
 +
The Eclipse IDE for Education is a version of Eclipse streamlined specifically for use by university and college students. The environment provides support for programming languages that are commonly used in university courses, including Java, Scheme, and Prolog (though only Java is supported for the time being).
 +
 
 +
*[https://bugs.eclipse.org/bugs/buglist.cgi?keywords=helpwanted;query_format=advanced;keywords_type=allwords;bug_status=NEW;bug_status=REOPENED;classification=Technology;product=IDE4EDU IDE4EDU "helpwanted" bugs]
 +
 
 +
== Eclipse OCL - Add an extensible Java Code Generation Framework ==
  
==Eclipse OCL - Add an extensible Java Code Generation Framework==
 
 
The OMG's OCL specification provides a core expression language for an increasing range of modeling languages. The Eclipse MDT/OCL project provides an implementation for which evaluation occurs through interpreted evaluation of the OCL Abstract Syntax Tree. With the advent of Validation, Setting and Invocation delegates in Ecore, it is very desirable to support direct synthesis of Java code avoiding the need or incentive for manual recoding. More generally direct synthesis of C and VHDL implementations will expand the project utility.  
 
The OMG's OCL specification provides a core expression language for an increasing range of modeling languages. The Eclipse MDT/OCL project provides an implementation for which evaluation occurs through interpreted evaluation of the OCL Abstract Syntax Tree. With the advent of Validation, Setting and Invocation delegates in Ecore, it is very desirable to support direct synthesis of Java code avoiding the need or incentive for manual recoding. More generally direct synthesis of C and VHDL implementations will expand the project utility.  
  
* Reporter: Ed Willink
+
*Reporter: Ed Willink  
* Possible mentors: Ed Willink
+
*Possible mentors: Ed Willink  
* More info: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=279638 Bugzilla 279638], [mailto:mdt-ocl.dev@eclipse.org MDT/OCL mailing list]
+
*More info: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=279638 Bugzilla 279638], [mailto:mdt-ocl.dev@eclipse.org MDT/OCL mailing list]  
* Eclipse Project: [http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl '''MDT/OCL''']
+
*Eclipse Project: [http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl '''MDT/OCL''']  
* Potential students: TBD
+
*Potential students: TBD
  
==ECF: Salvo, the Eclipse NNTP/Newsreader Project==
+
== ECF: Salvo, the Eclipse NNTP/Newsreader Project ==
A subproject of ECF aims to provide a communications layer to NNTP servers (network news or forums) as well as a slick newsreader that is operated from within the Eclipse IDE.
+
  
[http://wiki.eclipse.org/Newsreader Downloads and more Information]
+
A subproject of ECF aims to provide a communications layer to NNTP servers (network news or forums) as well as a slick newsreader that is operated from within the Eclipse IDE.  
[http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=salvo+newsreader Google on Salvo]
+
  
The newsreader and the underlying protocol implementation is currently release 0.7.0 with 0.8.0 pending. The project has all the basic stuff: A local storage, subscribe to server, subscribe to newsgroups, read and post of articles.
+
[http://wiki.eclipse.org/Newsreader Downloads and more Information] [http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=salvo+newsreader Google on Salvo]
  
There are several fields where students can work on on this project, see this [http://http://wiki.eclipse.org/Google_Summer_of_Code_2011_Ideas/ECF_Salvo entry] for more details.
+
The newsreader and the underlying protocol implementation is currently release 0.7.0 with 0.8.0 pending. The project has all the basic stuff: A local storage, subscribe to server, subscribe to newsgroups, read and post of articles.
 +
 
 +
There are several fields where students can work on on this project, see this [http://wiki.eclipse.org/Google_Summer_of_Code_2011_Ideas/ECF_Salvo entry] for more details.  
  
 
*Reporter: Wim Jongman  
 
*Reporter: Wim Jongman  
 
*Possible mentors: Wim Jongman  
 
*Possible mentors: Wim Jongman  
 
*Eclipse Project: ECF  
 
*Eclipse Project: ECF  
*Potential students: Isuru Udana (University of Moratuwa)
+
*Potential students: [mailto:isudana@gmail.com Isuru Udana (University of Moratuwa)]
 +
 
 +
== EMF - ProtocolBuffer EMF Serialization ==
 +
 
 +
ProtocolBuffer is binary serialization API which is smaller and faster than XML. It would be interesting to be able to serialize EMF models with it.See http://code.google.com/intl/fr/apis/protocolbuffers/
 +
 
 +
*Reporter: Mariot Chauvin
 +
*Possible Mentors: TBD
 +
*More info: http://www.eclipse.org/forums/index.php?t=thread&frm_id=108
 +
*Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
 +
*Potential students: [mailto:christian.kerl@in.tum.de Christian Kerl],...
 +
 
 +
== Amalgamation - Modeling Example ==
 +
 
 +
This idea is about providing an example of application of the modeling project tooling through a whole chain, from Ecore domain model, to code generator and going through model to model transformations and textual DSL. Basically taking the "Modeling Project as a DSL Toolkit" book examples, updating those and integrating them in the Modeling discovery UI available in the package.
 +
 
 +
*Reporter: Mariot Chauvin
 +
*Possible Mentors: Mariot Chauvin, Cedric Brun
 +
*More info: http://www.eclipse.org/forums/index.php?t=thread&frm_id=182&S=33731b448034ee4089bffe7a361e2020
 +
*Eclipse Project: [http://www.eclipse.org/modeling/amalgam '''Amalgamation''']
 +
*Potential students: TBD
 +
 
 +
== Orion - Git client ==
 +
 
 +
The first release of Orion is going to provide a simple but fully functional support for git. The idea behind this proposal is to identify missing bits and address them. The work will need to be done on the server by providing required services and in the UI (browser client). Required skills: Java, JavaScript, git, RESTful services.
 +
 
 +
*Reporter: Tomasz Zarna
 +
*Possible Mentors: [mailto:Tomasz.Zarna@pl.ibm.com Tomasz Zarna], [mailto:Szymon.Brandys@pl.ibm.com Szymon Brandys]
 +
*More info: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=336116 bug 336116]
 +
*Eclipse Project: [[Orion]]
 +
*Potential students: [mailto:a.korotkikh@gmail.com Alex Korotkikh], ...
 +
 
 +
== PDT - Orion Web IDE PHP Editor ==
 +
 
 +
Orion is going to dominate the way the web developers work with their code, grow their websites and build next Facebooks, Googles and Twitters. Unfortunately they won't make it without PHP editor. The task is to research existing Orion code base, determine killer feature set and drive the implementation of an example PHP editor, by working closely with Orion developers and PHP community. Required skills: Java, JavaScript, RESTful services.
 +
 
 +
*Reporter: Jacek Pospychala
 +
*Possible Mentors: [mailto:natalia.b@zend.com Natalia Bartol], [mailto:jacek.p@zend.com Jacek Pospychala], [mailto:Boris_Bokowski@ca.ibm.com Boris Bokowski]
 +
*Eclipse Project: [[PDT]]
 +
*Potential students: [mailto:anuragjainfzd@gmail.com Anurag Jain], Karol Gusak [mailto:karol@gusak.eu karol@gusak.eu]
 +
 
 +
== EMF - Provider for OData ==
 +
 
 +
[http://www.odata.org/ Open Data Protocol (OData)] is a Web protocol for querying and updating structured data. It uses technologies such as HTTP, AtomPub, JSON etc. OData can be used to expose and access information from a variety of sources. There are many existing OData-capable [http://www.odata.org/producers producers] and [http://www.odata.org/consumers consumers].
 +
 
 +
Exposing EMF models via OData would make them accessible from any OData-capable client, but also from any browser / HTTP-capable client. This can be done in a generic way for any EMF model, including store-backed (e.g. CDO-backed) models. Anything convertible to Ecore (POJO/UML/XSD/...) could be OData-enabled as a result. The implementation could use [https://code.google.com/p/odata4j/ odata4j project] as a generic framework for Java-based OData providers.
 +
 
 +
*Reporter: Alex Leites
 +
*Possible Mentors: TBD
 +
*More info: [http://www.odata.org/ OData] ([http://www.odata.org/mailing-list Mailing List]), [https://code.google.com/p/odata4j/ odata4j]([http://groups.google.com/group/odata4j-discuss Google group]), [http://www.eclipse.org/forums/index.php?t=thread&frm_id=108 EMF forum], [http://www.eclipsecon.org/2009/sessions?id=272 Building RESTFul Java Applications with EMF]
 +
*Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
 +
*Potential students: Tiger Gui [mailto:tigergui1990@gmail.com tigergui1990@gmail.com],Malith Dhanushka(University of Moratuwa)
 +
 
 +
== EMF - EMF Databinding for Apache CXF ==
 +
 
 +
Implement EMF Databinding for Apache CXF. Note that this was [http://wiki.eclipse.org/Servus_Proposal#Roadmap one of the goals] of the [http://wiki.eclipse.org/Servus Servus Project] (which is no longer active).
 +
 
 +
*Reporter: Alex Leites
 +
*Possible Mentors: TBD
 +
*More info: [http://cxf.apache.org/ Apache CXF] ([http://cxf.apache.org/docs/databindings.html databindings], [http://www.mail-archive.com/dev@cxf.apache.org dev mailing list]), [http://www.eclipse.org/forums/index.php?t=thread&frm_id=108 EMF forum], [http://wiki.eclipse.org/Servus Servus Project]
 +
*Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
 +
*Potential students: TBD
 +
 
 +
== EGit - EGit Synchronize View support part 2 ==
 +
 
 +
There are some things that can be implemented or improved in EGit Synchronization eg. synchronizing on folder level, synchronize wizard, show conflicts, include non-workspace resources in 'Workspace model', remove IO operations from UI thread, improve context menu action and so on...
 +
 
 +
*Reporter: Dariusz Luksza
 +
*Possible Mentors: Matthias Sohn
 +
*More info: [mailto:egit-dev@eclipse.org EGit mailing list]
 +
*Eclipse Project: [http://www.eclipse.org/egit '''EGit''']
 +
*Potential students: Dariusz Luksza
  
==EMF - ProtocolBuffer EMF Serialization==
+
== Tools - Implement a tool for compositional verification of temporal safety properties ==
  
ProtocolBuffer is binary serialization API which is smaller and faster than XML.
+
The goal is to add a scalable formal verification tool into Eclipse to aid software development. I propose the integration of CVPP, which is a tool set that implements a compositional algorithmic technique for the verification of Java software. CVPP is mature, as can be testified by the significant number of scientific publications it generated. It was developed jointly from researchers at KTH (Sweden), U. of Twente (Netherlands) and ETH (Switzerland).
It would be interesting to be able to serialize EMF models with it.See http://code.google.com/intl/fr/apis/protocolbuffers/
+
  
* Reporter: Mariot Chauvin
+
CVPP verifies control-flow safety properties. This means that it can verify properties of the type "method A will always be invoked after B has finished", or "a call to method computeVote can only happen when nested inside to a call to method startVotingSession" or "the method authenticateUser has to always be called before "giveAccess" method. To have a better understanding, one can try ProMoVer, which is a web tool that wraps the verification steps of CVPP.
* Possible Mentors: TBD
+
* More info: http://www.eclipse.org/forums/index.php?t=thread&frm_id=108
+
* Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
+
* Potential students: TBD
+
  
==Amalgamation - Modeling Example==
+
The idea is to provide a push-button approach for the user once it has stated the desired properties using some temporal logic, e.g., LTL. In case the check fails, the tool provides a counter-example, which is very helpful to understand the non-compliance. As mentioned before, the verification method is compositional, which implies that it may scale. Moreover, the support for open systems, i.e., systems that don't have the full implementation yet, is on the way. This brings new possibilities, such as one developer can verify its own code, even if he doesn't have yet the code from another college.
  
This idea is about providing an example of application of the modeling project tooling through a whole chain, from Ecore domain model, to code generator and going through model to model transformations and textual DSL. Basically taking the "Modeling Project as a DSL Toolkit" book examples, updating those and integrating them in the Modeling discovery UI available in the package.
+
*Reporter: Pedro de Carvalho Gomes <pedrodcg @ csc.kth.se>
 +
*Possible Mentors:
 +
*More info: [[http://www.nada.kth.se/~siavashs/ProMoVer/ '''ProMoVer''']], [[http://www.csc.kth.se/~siavashs/cvpp.html '''CVPP roadmap''']], [[http://www.csc.kth.se/~dilian/Projects/CVPP/ '''CVPP webpage ''']].
 +
*Eclipse Project: [http://www.eclipse.org/projects/project_summary.php?projectid=tools Tools Project]
 +
*Potential students: Pedro de Carvalho Gomes
  
* Reporter: Mariot Chauvin
+
== IEE - Integrated Engineering Environment ==
* Possible Mentors: Mariot Chauvin, Cedric Brun
+
* More info: http://www.eclipse.org/forums/index.php?t=thread&frm_id=182&S=33731b448034ee4089bffe7a361e2020
+
* Eclipse Project: [http://www.eclipse.org/amalgam '''Amalgamation''']
+
* Potential students: TBD
+
  
==Orion - Git client==
+
Universal platform to enlarge Eclipse IDE functionality. My proposal is interesting to you because it provides creation of custom embedded editor tools, including math evaluator and language translators, so potentially it covers a lot of fields of interest.
 +
 +
The main idea is to integrate specific engineering and educational tools to the powerful programming platform. Two main goals are raising up usability and effectiveness.
 +
 +
The competitive edge of our project is that the prototype is already developed, it performs symbol evaluations and image insertion straight in Eclipse java source editor. Code became more documented and understandable, at once it keeps being runnable.
  
The first release of Orion is going to provide a simple but fully functional support for git. The idea behind this proposal is to identify missing bits and address them. The work will need to be done on the server by providing required services and in the UI (browser client). Required skills: Java, JavaScript, git, RESTful services.
+
The project can be logically divided in two parts: platform development (until 1 of July) and tools development (until the end of summer).  
  
* Reporter: Tomasz Zarna
+
Examples of tools in short rate plans:  
* Possible Mentors: Tomasz Zarna, Szymon Brandys
+
* More info: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=336116 bug 336116]
+
* Eclipse Project: [[Orion]]
+
* Potential students: TBD
+
  
==EMF - Provider for OData==
+
math to java translator;
  
[http://www.odata.org/ Open Data Protocol (OData)] is a Web protocol for querying and updating structured data. It uses technologies such as HTTP, AtomPub, JSON etc. OData can be used to expose and access information from a variety of sources. There are many existing OData-capable [http://www.odata.org/producers producers] and [http://www.odata.org/consumers consumers].
+
prolog to java translator.
  
Exposing EMF models via OData would make them accessible from any OData-capable client, but also from any browser / HTTP-capable client. This can be done in a generic way for any EMF model, including store-backed (e.g. CDO-backed) models. Anything convertible to Ecore (POJO/UML/XSD/...) could be OData-enabled as a result. The implementation could use [https://code.google.com/p/odata4j/ odata4j project] as a generic framework for Java-based OData providers.
+
The methods I use could be also implemented in Eclipse for Education project, in my opinion it's very useful to insert images in source code, especially for students.
 +
Inserting images(with block-schemes or algorithms) straight in the source could make the code clearer for the student.  
  
* Reporter: Alex Leites
+
*Reporter: Egor Ivanov <egor7ivanov @ gmail.com>
* Possible Mentors: TBD
+
*Possible Mentors:
* More info: [http://www.odata.org/ OData] ([http://www.odata.org/mailing-list Mailing List]), [https://code.google.com/p/odata4j/ odata4j]([http://groups.google.com/group/odata4j-discuss Google group]), [http://www.eclipse.org/forums/index.php?t=thread&frm_id=108  EMF forum], [http://www.eclipsecon.org/2009/sessions?id=272 Building RESTFul Java Applications with EMF]
+
*More info: [[https://github.com/iee IEE repository - wiki, prototype, snippets]].
* Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
+
*Eclipse Project: [http://wiki.eclipse.org/Eclipse_IDE_for_Education '''IDE4EDU'''], DLTK, JDT
* Potential students: TBD
+
*Potential students: Egor Ivanov,Pavel Ershov, Artem Bankin, Sergey Khavrenko, Vlad Efremov
  
==EMF - EMF Databinding for Apache CXF==
+
== Code Recommenders: Extended & Crowd-sourced Javadoc Platform ==
 +
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. As part of the Code Recommenders project several mining approaches have been developed to find and extract interesting information from example code (see http://code-recommenders.blogspot.com/2010/03/problem-of-incomplete-javadocs.html for a more detailed introduction to this topic).
  
Implement EMF Databinding for Apache CXF. Note that this was [http://wiki.eclipse.org/Servus_Proposal#Roadmap one of the goals] of the [http://wiki.eclipse.org/Servus Servus Project] (which is no longer active).
+
However, appropriate means to present this mined documentation in Eclipse are missing. As part of this GSOC project, student(s) may implement means to integrate this mined documentation into Eclipse, for instance as a new "Extended Javadoc view" that may serve as a replacement for the existing Javadoc view, or as new kind of proposal info popup window inside Eclipse' code completion etc.
  
* Reporter: Alex Leites
+
*Reporter: Marcel Bruch
* Possible Mentors: TBD
+
*Possible Mentors: Marcel Bruch
* More info: [http://cxf.apache.org/ Apache CXF] ([http://cxf.apache.org/docs/databindings.html databindings], [http://www.mail-archive.com/dev@cxf.apache.org dev mailing list]), [http://www.eclipse.org/forums/index.php?t=thread&frm_id=108 EMF forum], [http://wiki.eclipse.org/Servus Servus Project]
+
*More info: [[http://code-recommenders.blogspot.com/2010/03/problem-of-incomplete-javadocs.html Background to Mining Documentation from Example Code]].
* Eclipse Project: [http://www.eclipse.org/emf '''EMF''']
+
*Eclipse Project: [http://eclipse.org/recommenders '''Eclipse Code Reocmmenders''']
* Potential students: TBD
+
*Potential students: Stefan Henss
  
==EGit - EGit Synchronize View support part 2==
+
== EPreferences ==
  
There are some things that can be implemented or improved in EGit Synchronization eg. synchronizing on folder level, synchronize wizard, show conflicts, include non-workspace resources in 'Workspace model', remove IO operations from UI thread, improve context menu action and so on...
+
EPreferences project is an Eclipse plugin that aims at creating comprehensive preferences mechanism for the Eclipse e4 without the faults of its predecessors. Special focus is set on introducing better import / export handling with preferences grouped into a tree-like structure, as well as proper preferences validation and preferences discovery mechanism. To facilitate setting default values and groups for preferences a visual editor will be created.
  
* Reporter: Dariusz Luksza
+
*Reporter: Christopher Daniel
* Possible Mentors: TBD
+
*Possible Mentors: Christopher Daniel, John Arthorn
* More info: [mailto:egit-dev@eclipse.org EGit mailing list]
+
*More info: http://code.google.com/a/eclipselabs.org/p/e4preferences/
* Eclipse Project: [http://www.eclipse.org/egit '''EGit''']
+
*Eclipse Project: Eclipse e4
* Potential students: Dariusz Luksza
+
*Potential students: Anna Ferster, Marek Kuzora

Revision as of 07:26, 15 April 2011

Rules

  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentor those ideas, add your name and email to the idea.
  • GSoC project ideas should align with an existing Eclipse project
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested in one idea.
  • Aspiring students and mentors need to register and submit their proposals on the SoC app

Mentors info

If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").

Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to EMO.

Ideas submission

Idea proposal should contain the following information:

  • project title, like "WTP - Improve auto-complete in xml editor"
  • description with links to bug reports, project wiki pages, etc
  • Reporter: who submitted idea (optional e-mail)
  • Possible Mentors: who would like to mentor the students
  • More info: other links or e-mail
  • Eclipse Project: link to main eclipse project that improvement is targeting
  • Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.

Ideas

These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).

There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "helpwanted" that may give you ideas.

EGit / JGit - git-blame support

It's about adding support for "git blame" in JGit (git library in Java) and EGit (Eclipse integration and UI). There is an early proposed draft for the jgit part by Benjamin Muskalla which is based on prior work from Manuel Woelker but there wasn't much progress on that in the last months.

If you are interested to have a closer look refer to the EGit Contributor Guide to find out how to setup your environment for contributing and maybe try to fix some low hanging fruit from our bug list to get a feeling what these projects are all about.

  • Reporter: Chris Aniszczyk
  • Possible Mentors: Chris Aniszczyk, Matthias Sohn
  • More info: EGit mailing list
  • Eclipse Project: EGit
  • Potential students: Alex Korotkikh [1], Stefanos Antaris [2]

Acceleo - Export profiling data to gprof

Acceleo has a nice profiling model, so it could be nice to be able to export this data to gprof files so that the user can leverage other more sophisticated tools to analyse the trace. See bug 293304. If you want to know more about the profiling in Acceleo see the user guide.

If you are interested to have a closer look refer to our Contributor Guide to find out how to setup your environment for contributing.

EEF - Enhance the end user experience

EEF provides a three steps process to generate eye-candy user interface for your models. This process could be simplified by doing automatically several steps instead of asking the user to do it. See bug 338939 and bug 338942 for instance.

A second part of the work is to create a EEF models designer. This designer would help EEF users to defines easily their UI models (with enhanced model presentation, drag'n'drop, ...) and to iterate in case of ecore model changes.

Finally the last part consists of link EEF and Eclipse WindowBuilder in order to allow EEF user to define their views with the WYSIWYG editor of WindowBuilder.

If you are interested to have a closer look refer to our Developer Guide to find out how to setup your environment for contributing.

CDT - Build UI Improvements

Currently the CDT build UI is hidden away in Project Properties. We'd like to add nodes in the Project Explorer under each project to list the build configurations. Actions would be added to open up a build configuration editor to change the settings. Actions would be added for invoking build and clean, and for setting the default build and indexer configuration.

CDT - CMake and/or Qt qmake Builder Integration

CDT has it's own managed build system, but we are seeing more and more use of external managed builders such as CMake and Qt's qmake. We need to make sure the infrastructure is in place to allow for integration of these builders into the CDT builds. Then we need to implement them. CMake is a priority because there already exists a qmake builder. But then the qmake builder isn't very standard and could be redone.

CDT - Static Analysis Checkers for C/C++

Codan is a code analysis framework for CDT. The project goal is to create a framework for static analysis and checkers for C/C++. Looking for contributors to create checkers using CDT and Codan API for code style, program errors, security vulnerability, and so on. Project is extremely scalable (can be done by lots of students in parallel). Students should have strong background in compiler technologies and C/C++ (and Java/Eclipse obviously).

Mylyn

Mylyn maintains a list of ideas on this the Contribution Ideas wiki page. If you have your own idea or if you interested in one of the suggested ideas please feel free to contact mylyn-dev@eclipse.org or join one of the weekly meetings.

  • Reporter: Steffen Pingel
  • Possible Mentors: Benjamin Muskalla, Steffen Pingel
  • Eclipse Project: Mylyn
  • Potential students: Muslim Chochlov muslim.chochlov@gmail.com

Equinox - Bndtools based OSGi bundles maker project

I want to build a bndtools based OSGi bunlles maker project, it will help us analyse java application and split the whole project into several OSGi bundles. This tool can analyse source code, supply vari-size grained split and refactor suggestions, show the analyse result in a GUI view and we can change split solution manually, then it will split the project into several OSGi bundles/projects. I have started the development job for this tool, if you are interested, you can check project proposal details and online demo here;

Sequoyah - Add multi-language support to Eclipse plugin projects using the Sequoyah Localization Editor

The Sequoyah project is focused on Mobile application development tools. One of the components of Sequoyah is the Localization Files Editor (LFE), which is a visual editor for handling parallel resources for multi-language projects. The LFE has a reference implementation for Android, although it was written in a way so that the model is abstracted from the underlying implementation.

We are proposing a feature for the Sequoyah Localization Framework, which will extend support to Eclipse plugin projects. In order to do that, the framework must be changed to handle PDE projects, which contain strings files in the Java .properties format. The result will be a new set of editors that will allow Eclipse projects to localize themselves more easily.

The Eclipse Babel project has expressed interest in participating in this work.

  • Reporter: Marcel Gorri
  • Possible mentors: Marcel Gorri, Werner Keil (Babel)
  • More info: Sequoyah mailing list
  • Eclipse Project: Sequoyah
  • Potential students: Lucas DE CASTRO (lucastdcj@gmail.com); Everton Ferreira dos Santos (everton.ic08@gmail.com)

Eclipse Communication Framework

ECF is a framework for building distributed servers, applications, and tools. It provides a modular implementation of the OSGi 4.2 Remote Services standard, along with support for REST-based and SOAP-based remote services, and asynchronous messaging for remote services.

Eclipse IDE for Education

The Eclipse IDE for Education is a version of Eclipse streamlined specifically for use by university and college students. The environment provides support for programming languages that are commonly used in university courses, including Java, Scheme, and Prolog (though only Java is supported for the time being).

Eclipse OCL - Add an extensible Java Code Generation Framework

The OMG's OCL specification provides a core expression language for an increasing range of modeling languages. The Eclipse MDT/OCL project provides an implementation for which evaluation occurs through interpreted evaluation of the OCL Abstract Syntax Tree. With the advent of Validation, Setting and Invocation delegates in Ecore, it is very desirable to support direct synthesis of Java code avoiding the need or incentive for manual recoding. More generally direct synthesis of C and VHDL implementations will expand the project utility.

ECF: Salvo, the Eclipse NNTP/Newsreader Project

A subproject of ECF aims to provide a communications layer to NNTP servers (network news or forums) as well as a slick newsreader that is operated from within the Eclipse IDE.

Downloads and more Information Google on Salvo

The newsreader and the underlying protocol implementation is currently release 0.7.0 with 0.8.0 pending. The project has all the basic stuff: A local storage, subscribe to server, subscribe to newsgroups, read and post of articles.

There are several fields where students can work on on this project, see this entry for more details.

EMF - ProtocolBuffer EMF Serialization

ProtocolBuffer is binary serialization API which is smaller and faster than XML. It would be interesting to be able to serialize EMF models with it.See http://code.google.com/intl/fr/apis/protocolbuffers/

Amalgamation - Modeling Example

This idea is about providing an example of application of the modeling project tooling through a whole chain, from Ecore domain model, to code generator and going through model to model transformations and textual DSL. Basically taking the "Modeling Project as a DSL Toolkit" book examples, updating those and integrating them in the Modeling discovery UI available in the package.

Orion - Git client

The first release of Orion is going to provide a simple but fully functional support for git. The idea behind this proposal is to identify missing bits and address them. The work will need to be done on the server by providing required services and in the UI (browser client). Required skills: Java, JavaScript, git, RESTful services.

PDT - Orion Web IDE PHP Editor

Orion is going to dominate the way the web developers work with their code, grow their websites and build next Facebooks, Googles and Twitters. Unfortunately they won't make it without PHP editor. The task is to research existing Orion code base, determine killer feature set and drive the implementation of an example PHP editor, by working closely with Orion developers and PHP community. Required skills: Java, JavaScript, RESTful services.

EMF - Provider for OData

Open Data Protocol (OData) is a Web protocol for querying and updating structured data. It uses technologies such as HTTP, AtomPub, JSON etc. OData can be used to expose and access information from a variety of sources. There are many existing OData-capable producers and consumers.

Exposing EMF models via OData would make them accessible from any OData-capable client, but also from any browser / HTTP-capable client. This can be done in a generic way for any EMF model, including store-backed (e.g. CDO-backed) models. Anything convertible to Ecore (POJO/UML/XSD/...) could be OData-enabled as a result. The implementation could use odata4j project as a generic framework for Java-based OData providers.

EMF - EMF Databinding for Apache CXF

Implement EMF Databinding for Apache CXF. Note that this was one of the goals of the Servus Project (which is no longer active).

EGit - EGit Synchronize View support part 2

There are some things that can be implemented or improved in EGit Synchronization eg. synchronizing on folder level, synchronize wizard, show conflicts, include non-workspace resources in 'Workspace model', remove IO operations from UI thread, improve context menu action and so on...

  • Reporter: Dariusz Luksza
  • Possible Mentors: Matthias Sohn
  • More info: EGit mailing list
  • Eclipse Project: EGit
  • Potential students: Dariusz Luksza

Tools - Implement a tool for compositional verification of temporal safety properties

The goal is to add a scalable formal verification tool into Eclipse to aid software development. I propose the integration of CVPP, which is a tool set that implements a compositional algorithmic technique for the verification of Java software. CVPP is mature, as can be testified by the significant number of scientific publications it generated. It was developed jointly from researchers at KTH (Sweden), U. of Twente (Netherlands) and ETH (Switzerland).

CVPP verifies control-flow safety properties. This means that it can verify properties of the type "method A will always be invoked after B has finished", or "a call to method computeVote can only happen when nested inside to a call to method startVotingSession" or "the method authenticateUser has to always be called before "giveAccess" method. To have a better understanding, one can try ProMoVer, which is a web tool that wraps the verification steps of CVPP.

The idea is to provide a push-button approach for the user once it has stated the desired properties using some temporal logic, e.g., LTL. In case the check fails, the tool provides a counter-example, which is very helpful to understand the non-compliance. As mentioned before, the verification method is compositional, which implies that it may scale. Moreover, the support for open systems, i.e., systems that don't have the full implementation yet, is on the way. This brings new possibilities, such as one developer can verify its own code, even if he doesn't have yet the code from another college.

IEE - Integrated Engineering Environment

Universal platform to enlarge Eclipse IDE functionality. My proposal is interesting to you because it provides creation of custom embedded editor tools, including math evaluator and language translators, so potentially it covers a lot of fields of interest.

The main idea is to integrate specific engineering and educational tools to the powerful programming platform. Two main goals are raising up usability and effectiveness.

The competitive edge of our project is that the prototype is already developed, it performs symbol evaluations and image insertion straight in Eclipse java source editor. Code became more documented and understandable, at once it keeps being runnable.

The project can be logically divided in two parts: platform development (until 1 of July) and tools development (until the end of summer).

Examples of tools in short rate plans:

math to java translator;

prolog to java translator.

The methods I use could be also implemented in Eclipse for Education project, in my opinion it's very useful to insert images in source code, especially for students. Inserting images(with block-schemes or algorithms) straight in the source could make the code clearer for the student.

  • Reporter: Egor Ivanov <egor7ivanov @ gmail.com>
  • Possible Mentors:
  • More info: [IEE repository - wiki, prototype, snippets].
  • Eclipse Project: IDE4EDU, DLTK, JDT
  • Potential students: Egor Ivanov,Pavel Ershov, Artem Bankin, Sergey Khavrenko, Vlad Efremov

Code Recommenders: Extended & Crowd-sourced Javadoc Platform

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. As part of the Code Recommenders project several mining approaches have been developed to find and extract interesting information from example code (see http://code-recommenders.blogspot.com/2010/03/problem-of-incomplete-javadocs.html for a more detailed introduction to this topic).

However, appropriate means to present this mined documentation in Eclipse are missing. As part of this GSOC project, student(s) may implement means to integrate this mined documentation into Eclipse, for instance as a new "Extended Javadoc view" that may serve as a replacement for the existing Javadoc view, or as new kind of proposal info popup window inside Eclipse' code completion etc.

EPreferences

EPreferences project is an Eclipse plugin that aims at creating comprehensive preferences mechanism for the Eclipse e4 without the faults of its predecessors. Special focus is set on introducing better import / export handling with preferences grouped into a tree-like structure, as well as proper preferences validation and preferences discovery mechanism. To facilitate setting default values and groups for preferences a visual editor will be created.

Back to the top