Software Systems and Architecture

Research in Software Systems and Architecture is concerned with improving the foundation upon which software systems are built. This encompasses research that ranges from the low-level hardware architecture, to compiler and runtime support systems, up to software development environments and advanced tools for reasoning about system behavior, as well as the interaction among these areas. Our research methodology typically involves the development of theoretical foundations evaluated through system development and experimentation. Current projects in computer science include the formal analysis of computing systems with the goal of discovering how to use them more efficiently, process language support for human-computer interaction, automated analysis of software including model checking and static analysis, formal and practical foundations for integration and interoperability, approaches for developing robust, high-performance software systems that behave well under load or attack, and synergistic co-development of architectural performance enhancements together with compiler and run-time system optimizations.