Skip to content

Google Summer of Code 2016 (under PSF)

AbdealiJK edited this page Apr 23, 2016 · 1 revision

Google Summer of Code 2015 (under GNOME)

coala: Automatic settings guessing

  • Student: @hypothesist
  • Mentor: @Makman2, @Udayan12167

In this project, I propose to create an automated settings guessing feature based on the available samples for coala, a static code-analysis tool. Currently, the user has to manually specify their formatting / standards. With this proposal, this will be completely automated, intelligently guessing the best settings for the project.

As a second part to this project, I intend to integrate this with coala-quickstart, a user-friendly program that helps new users setup the configuration file through simple questions. I also aim to create a feature where default preset standards are packaged for the user to simply choose from quickly without much effort.

As a third optional part to this project, depending on time constraints and availability, I plan to collaborate on a web feature where a user may enter their repository address and coala automatically commits the coafile to their repository after guessing the best settings.

coala: coala-html and coala website

  • Student: @tushar-rishav
  • Mentor: @Uran198, @harshdattani, @manoranjanp, @sils1297

coala-html is an AngularJS application used to display results from coala-json as an interactive web page. Prototype is available at Github.

coala website a main website for coala with coala demo integrated. It’d be written from scratch with improved UI and features.

Proposed features are:

  • coala-html
    • Improve UI for Logs and Results by implementing Material Design
    • Implement better search feature. Create a Fuzzy Search module.
    • Add UnitTest
  • coala-website

coala: Decentralizing Bears

  • Student: @Adrianzatreanu
  • Mentor: @justuswilhelm, @AbdealiJK, @sils1297

The aim of this project is to create a lot of packages, so that it will be way easier to maintain bears, and to update them with awesome features. This will also include easier debugging as we will only have to focus on one bear at a time.

coala: Documentation Extraction

  • Student: @SanketDG
  • Mentor: @Makman2, @sils1297

The aim of the project is to develop a language independent analyzing routine that will find all documentation strings in a file, parse them into specific groups and checks them against a specified documentation style given by the user. The functionality can be extended to providing a patch that re-formats the documentation correctly and checks for grammatical errors and performs other aesthetic fixes.

coala: Extend linter integration

  • Student: @mr-karan
  • Mentor: @manoranjanp, @Makman2, @AbdealiJK

The aim of the project is to ease the process of creating a new Lint Bear, addressing the issue of linting files having embedded source code and provide command line interface improvements to existing coala application.

coala: Generic Spacing Correction

  • Student: @abhsag24
  • Mentor: @fneu, @Makman2

The Aim of this Project is to create and implement an algorithm that figures out the right indentation for as many programming languages as possible. The implementation must be configurable for different projects and must address features like indents based on keywords, Hanging Indents and creating new lines when the length of the line is too long .

coala: Integrating coala with the Eclipse IDE

  • Student: @arafsheikh
  • Mentor: @harshdattani, @AbdealiJK, @sils1297

This project aims to implement a feature-rich code analysis plugin for the Eclipse IDE using coala. This plugin will perform the analysis by running the given code through coala and present the results to the user to take further action. The user can then view the diff or apply the patch with a single click.

coala: Writing bears with different programming languages

  • Student: @Redridge
  • Mentor: @Udayan12167, @fneu, @sils1297, @Makman2

coala's modules for code analysis are called bears. Currently these modules can be written in python only. The aim of this project is to make it possible for developers to use any kind of language they want to write bears. The ultimate goal would be to make bear development as friendly and easy as possible by providing utilities to developers such that their bears will be easily packaged and distributed using pypi.

Clone this wiki locally