How to make programming language updates cheaper? Our researchers at FIT CTU have a solution

Our researchers from FIT CTU have been awarded a prestigious Advanced ERC grant worth CZK 77 million for research on making programming language updates more efficient and cheaper. Programming languages allow programmers to interact with computers and specify tasks to be performed. Computers and their systems are all around us, for example, in transport, bank services, smartphone and automatic washing machine. In order for these devices and services to keep up with technological developments and user expectations, it is necessary to update not only their codes but also all their documentation. These changes are extremely costly and time-consuming for companies, and the costs are subsequently reflected in the prices of products and services.

For programming languages to remain long-term, they must respond to hardware developments, adding new features while adapting to new end-user requirements. As part of improving programming languages, our researchers at FIT CTU focus on two research directions. On the expressiveness of languages – the easier the expression of complex algorithms and their context in programming languages, the faster and simpler it will be to tell computers what to do. And on the safety of programming languages, to eliminate frequent programming errors as much as possible. Even an automatic washing machine, for example, has to solve a large number of complex processes to wash clothes according to the chosen program successfully.

The aim of the researchers from the Programming Research Laboratory is to find solutions on how to apply the continuously developed innovations in programming languages as quickly, easily and without unnecessary errors as possible. And as a result, to make it cheaper to update programming languages. When a company comes up with a new version of a programming language. First of all, it is necessary to create all documentation (manuals, tutorials, training, examples on the Internet, etc.) to correspond with the new version of the language. Then the programmers must rewrite the old code to use the new changes, simplify the program and eliminate bugs. Our researchers are figuring out how to automate all these follow-up processes.

“The problem is that a new language not only needs a new compiler and associated runtime system but also requires new software development tools, libraries, documentation, educational materials or training programs. If you add up the cost of all this, the sums involved are staggering. Each new major version of Java, for example, costs Oracle about $50 million,” said Prof. Jan Vitek, who leads the lab’s research group under a prestigious Advanced ERC grant worth €3 million (approx. CZK 77 million) and is also at the Khoury College of Computer Sciences, Northeastern University in Boston.

FIT CTU in Prague has the honour of being the only faculty in the Czech Republic to receive this Advanced ERC grant in 2015.