PL/FM/SE area at the University of Illinois at Urbana-Champaign
- Programming languages research encompasses the design and implementation of programming languages, and their formal semantics.
- Formal methods research focusses on techniques to build reliable software, viewing programs as mathematical objects that are proved correct. Formal specification and verification based on logic, algorithms, automata theory, program semantics, and type theory is applied in order to build provably correct systems.
- Software engineering research addresses developing, maintaining, and evolving software in the large; patterns of programming, refactoring, and testing are relevant topics.