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.

UUAGC code fragments


As a group, we are always interested in research collaborations; both with research institutes as well as companies. Please contact us if you want to discuss opportunities for collaboration.

The Center of Software Technology was headed by Doaitse Swierstra who, after thirty years as a professor in the Department of Information and Computing Sciences, gave his farewell oration in May 2013. We have a strong relationship with the Software Technology for Learning and Teaching group with Johan Jeuring heading both groups.