Theoretical Computer Science Group

Programming languages and program development research covers a wide range of topics in computer science and the TCS group is actively researching in the following areas:
  • Devising abstract interpretation techniques for logic programs, constraint programs and imperative programs;
  • Developing interactive visual interfaces to Haskell, that is, devising ways of graphically presenting data structures in an intuitive way;
  • Investigating the theoretical and methodological aspects of refinement of state based systems;
  • Testing and tracing functional programs and developing compositional explanations of type errors;
  • Investigating the expressiveness of programming languages and type systems and developing term-rewriting techniques for infinitary rewriting;
  • Studying logics, for example, interval temporal logics which are a class of logics in which the model theory is restricted to finite state sequences called intervals;
  • Detecting security holes, such as buffer overrun vulnerabilities in C programs, by the application of abstract interpretation techniques;
  • Devising and applying computational geometry techniques to infer properties of programs with computational domains that are systems of linear inequalities.

Significant funding for the group has come from the EPSRC, DTI, EU, in addition to several industrial sources. The members of the group are heavily involved in a range of research communities, conferences and journals. Further details can be found in the individual home pages.