Department of Computer Science researchers in programming languages, compilers, and software engineering centers focus on how to write, test, compile, and reason about software. This research spans the entire spectrum from theory to practice. On one end of this spectrum, questions such as whether it is possible to prove that a program, or a language, has a given property are answered. On the other end, there are optimizing compilers for modern languages and architectures. In between are algorithms to analyze the properties of a program, as well as the tools and patterns to make it easier to write correct, efficient code.
Research Topics
- Type Systems
- Static Analysis
- Program Verification
- Language Extensibility
- Software Engineering
- Software Reliability and Testing