![]() |
Programming Languages is a central and fundamental topic in computer science which concerns all aspects that have to do with programming. The research in the programming language group includes work on particular programming languages, theoretical aspects of programming languages such as types and semantics, program analysis and verification of software, paradigms of programming, and aspects arising from concurrent, parallel and distributed programming. There is also overlap with software engineering and formal methods.
The research can be classified along the following dimensions:
Software engineering is concerned with the problem of how to produce high quality software from the design aspects to the implementation and subsequent maintenance of the software.
It encompasses the use of formal methods all the way to the pragmatics of actual software development.
The research in the practical aspects of our software engineering group ranges from using web-based knowledge engineering (semantic web) to software reuse techniques for designing high-variability software components.
In formal methods, the research looks at the problems of specification and verification of software (e.g., model checking). There is synergy with the faculty and research in the programming languages in the areas of program verification, debugging and system specification. Our research on reuse focuses on variability management, applying generation techniques for Software Product Lines, and re-engineering of legacy code for reuse (software clone detection and modeling of Software Product Lines).
The research can be classified along the following dimensions: