GSoC/GCI Archive
Google Summer of Code 2015


License: GNU General Public License version 2.0 (GPLv2)

Web Page:

Mailing List:!forum/plasma-umass-gsoc

The PLASMA group (Programming Languages and Systems at MAssachusetts), co-led by Professors Emery Berger, Yuriy Brun, and Arjun Guha, is a research group in the School of Computer Science at the University of Massachusetts Amherst.

PLASMA currently includes 9 PhD students and has an established history of incorporating undergraduate students in research projects, and an excellent track record in delivering widely-used and high impact open source software.



  • AutoMan Monitoring and Debugging Plugin for IntelliJ IDEA BJ Proposal GSoC is a thing that I have been always dreaming of. It is a unique opportunity to work with the best. Coding for GSoC will give me a huge experience. Projects proposed in GSoC are kind different from usual projects. I find them as important additions to the main projects, they are always open for discussion. IntelliJ IDEA and Scala are my favourite coding tools. This project will be an excellent example of connection between passion and doing something useful for the others.
  • Blocks Language Front-end This proposal lays out the architecture, timelines and motivation behind the Blocks Language Front-end project. The key idea is to build a drag-and-drop web interface where users generate instances of the types in the SurveyMan language, and combine them to form surveys. The system will use visual cues, like shape and color, to indicate types and legal operations. Once completed, the surveys will be exported to json which can then be fed into the Java program to build a live survey.
  • Improving Ninia: A Web-Based Python Interpreter Doppio emulates threads, a file system, network sockets and an unmanaged heap on top of JavaScript. Ninia is a python interpreter on the web, currently limited to trivial python programs and does not make extensive use of Doppio's resources. This project will focus on improving Ninia to use Doppio threads, and eventually run multi-threaded python programs.