Centrum Wiskunde & Informatica starts research into domain-specific languages

A big future for small programs

Publication date
1 Nov 2010

A big future for small programs

We totally depend on software for many applications  such as  internet banking, consulting a search engine or download a video on a smart phone. A major problem is that the size of software systems is rapidly increasing. The Centrum Wiskunde & Informatica (CWI) in Amsterdam is starting a research project into methods to make software smaller. This leads to a higher  productivity and higher quality of the software.

The size of software systems ranges from 10 to 100 million lines of source code. As a result the development of software has become expensive and the maintenance complex. In thousands of lines of source code, errors may occur that even programmers are yet to discover. To reduce the size of software programs, the researchers are focusing on the development of domain-specific languages (DSLs). By using DSLs it will be possible to develop future software 10 to 50 times faster.

Unlike programming languages that are suitable for multiple applications, a DSL is a dedicated language to solve problems in a clearly delineated domain, such as databases, auditing and forensic investigation. DSLs that are already used include SQL and HTML. However, wide adoption of DSLs has yet to encounter a lot of substantive and technical problems. For example: How do you design a DSL for a specific domain? In their study, the researchers will also focus on resolving implementation problems, a significant limitation in the introduction of DSLs.

The technique for implementing DSLs will be based on meta-programming, a method in which programs use other programs as data. Meta-programming can be used to  automatically analyze the software and change it into modern programming languages. By using existing software in their research, the researchers can infer a DSL that  can develop  future software much more efficiently in the same domain.

The research is conducted by the research group ‘Software Analysis and Transformation’ from the CWI, headed by Paul Klint. The research of this group focuses on the development of methods and techniques for making software evolution manageable. Klint introduced new areas of research in the Netherlands such as  software evolution and domain-specific languages. There is worldwide interest for the research of this group.

The research was made possible by the Top grant program of NWO. The TOP grant offers top research groups the opportunity to innovate their lines of research in terms of content and collaboration. The goal is to create room for groundbreaking science of superb quality.