Skip to main content


Software Engineering addresses the problem of how to produce quality software on time and within a specific budget. Systems work addresses the problem of how to build large computer systems that accomplish some specific purpose. Specific research problems in Software Engineering that we are investigating include: how best to describe what software systems are supposed to do (specification), how to ensure that computational systems behave correctly (verification), model checking of software and hardware systems with a particular emphasis on scalable formal verification of cyber-physical systems and quantitative computational models, how to parallelize systems for maximum efficiency, how to model, analyze, and optimize the performance of software, and how to build large, concurrent and distributed systems.