Languages, Compilers, & Runtime Systems
Static and run-time compiler systems are used to get more performance, robustness, and energy efficiency through intelligent program analysis, transformation, and adaptation. Deep analysis of application behavior identifies opportunities to customize the software to the underlying hardware as well as providing an automatic approach to customize hardware functionality to a set of applications. Dynamic profile or run-time data expose opportunities to optimize the common case or even input-specific optimizations. CSE faculty are developing new compiler methods to optimize applications from mobile to cloud server. Techniques such as software approximate computing unlock performance in applications where 100% output accuracy is neither necessary or even possible. Lightweight dynamic compilation allows an application to be optimized while it is running without disruptions. Other projects explore problems at the interface of architecture, operating systems and program analysis, to help programmers write and maintain reliable parallel software, including support for tolerating concurrency bugs, memory consistency models and deterministic replay. Moreover, faculty within this area explore specialized solutions to greatly boost the performance of specific algorithms or computing frameworks, for instance frameworks that are widely applied in the context of large data applications, such as MapReduce.
Compilers are also key in identifying new opportunities to make use of specialized accelerators. GPUs, FPGAs, and other accelerators provide great opportunities to offload work from traditional processors. Key challenges being investigated are how to find this work, how to match it to the accelerator, and how to do both of these without having the programmer rewrite or restructure applications. Compilers are also used to design customized processor and accelerator architectures. Customized processors bring previously unattainable performance to edge devices (sensors, phones) in important domains such as deep learning, computer vision, and medical imaging.
CSE Faculty
Todd Austin
WebsiteMentoring PlanComputer architecture, robust and secure system design, hardware and software verification, and performance analysis tools and techniques.Valeria Bertacco
WebsiteMentoring PlanImproving the functional correctness of digital integrated circuits, by developing technology that attacks the issue at design time, in post-silicon, and throughout the lifetime of a digital integrated component, in face of the challenges posed by fragile silicon and extreme design complexity.Peter M. Chen
WebsiteOperating systems, computer security, virtual machines, fault-tolerant computing.Ryan Huang
WebsiteMentoring PlanOperating systems, distributed systems, cloud and mobile computing, software dependability, program analysis.Scott Mahlke
WebsiteMentoring PlanCompilers, application-specific processors, computer architecture and microarchitecture, embedded systemsYatin Manerkar
WebsiteMentoring PlanFormal methods (modeling, verification, and synthesis) for hardware and software, hardware security, memory consistency, cache coherence, concurrency, ethical AI.Jason Mars
WebsiteMentoring PlanCross-layer systems architectures for emerging applications, datacenter and warehouse-scale computer architecture, and hardware / software co-design.Satish Narayanasamy
WebsiteMentoring PlanComputer Architecture; Program Analysis; Confidential Computing; Health SystemsMax New
WebsiteMentoring PlanDeveloping and using mathematical tools to ensure correctness, safety and security of programming languages and their implementations.Cyrus Omar
WebsiteMentoring PlanFundamentally improving the programming experience for computational and data scientists, web app programmers, students and educators, and for people with disabilities who cannot effectively use
other programming tools.Gokul Ravi
WebsiteMentoring PlanQuantum computing: Application-tailored full-stack optimization, Hardware-tailored error mitigation, Hybrid quantum-classical systems, Quantum error correction decoding, Classical simulation for quantum, Resource management (e.g., in the quantum cloud), Scalable quantum compilers; Computer architecture and systems; ML-assisted systems, Accelerating scientific applications.Karem A. Sakallah
WebsiteMentoring PlanComputer-aided design of electronic systems, Boolean satisfiability, discrete optimization, and hardware and software verification.Muhammad Shahbaz
WebsiteMentoring PlanComputer Systems, Networks, and Architecture and their interaction with Machine Learning.Lingjia Tang
WebsiteMentoring PlanComputer architecture and compiler and runtime systems, especially such systems for large scale data centers.Georgios Tzimpragos
WebsiteMentoring PlanComputer architecture, new models of computation, computing with emerging devicesXinyu Wang
WebsiteMentoring PlanProgramming Languages, Formal Methods, Software Engineering. Program synthesis, verification, analysis, and testing.Westley Weimer
WebsiteMentoring PlanProgramming languages; software engineering; medical imaging; program analysis, synthesis and improvement.ECE Faculty
Stéphane Lafortune
WebsiteSystem and control theory; Discrete event systems; Application to computer and communication systems