Compilers are programs which translate. Traditionally such translation is done from human readable and understandable descriptions of how a computer should solve a problem to a corresponding description which can be executed directly on a computer to actually compute the solution for the problem.
Nowadays translation applies to a much wider context, for example a web browser takes a description of how a website should look and translates this to the actual rendering on a screen. Techniques and tools applied by compilers therefore are often at the core of many programs, even though this may not be visible from the outside. We explores such techniques, develops tools to support translation techniques, and put these into practice by developing compilers and supporting libraries and tools.
Within the grand scheme of compiler technologies and tools, we work on a several different (but inter-connected) research questions: