Every application, game, and controlled piece of hardware relies on code to perform ever so complex or mundane tasks. But despite the complexity of a task, the code, its components, and the effect/result, should be clear and obvious to both the programmer and the computer.
The scope of our research is:
- Generic programming
- Compiler construction techniques
- Program analysis
- Program transformation
- Formal verification of distributed algorithms
As part of our research, we seek to identify programming patterns (program methodology), to formalize them in the form of well-defined programming languages and language constructs, and to support their use by the construction of tools. When constructing the tools we reflect about the way we construct these tools, thus closing the development cycle by identifying new patterns. The software and tools we develop are made publically available through our website and version management systems.