Languages

We are focusing on dynamic languages. These are easier and less constrained to work at, but much harder to analyze and optimize.

R

R is a language for statistical computing and visualization. In the 20 years of its existence, it has become defacto lingua franca in data science ranging from computational statistics, to econometrics and to bioinformatics.

One of the greatest advantages of R is its huge library (called packages), a trusted and verified source of almost any thinkable statistical algorithm ready to be applied to the problem at hand.

Despite its immense success, R faces many challenges from the changing environment - especially regarding BigData as the language itself lacks any support for parallel, or distributed computing.

Our efforts focus on making the language faster, and on improvements to the developer stack (test generation).

JavaScript

JavaScript is possibly the most widely used programming language in the world. Traditionally it powers almost any webpage out there and with the new technologies, such as HTML5 it is replacing other web languages, such as flash.

Webpages, video players, and even 3D games in your browser can all be programmed in JavaScript.

But JavaScript did not stop there, node.js, a V8 Javascript engine and a set of libraries allows JavaScript to be used also for server-side development and even applications.

All this leads to vast package repositories and codebases written in single language in constant flux. We are interested in analyzing JavaScript big code that would enable automated updates and patches.