Our Faculty and Staff
From exploring the intersection of architecture and cyber-physical systems to automatic bug fixing, our faculty work across discplines and borders to take on the real, tough technical challenges inherent to modern software.
Language Design, Program Verification, Object-oriented foundations, and Enforcement of software design constraints.
Human aspects of software engineering, neurodiversity, accessibility, HCI, understanding communication, collaboration tools, biometrics, organizational behavior
Requirements engineering, Software design assumptions, Privacy and security, and Policy and legal compliance.
Professor of Computer Science
Software architecture, Pervasive computing, Self-healing systems, and Applied formal methods.
Machine learning for software engineering, program synthesis, and learned program analysis
Director and Professor
Software teams and organizations, Open source ecologies, Collaboration, coordination, congruence, and Global software development.
Software design, assurance, modeling, verification, security, safety, and cyber-physical systems
Associate Professor, Director, Software Engineering Ph.D. program
Variability and Reuse, Modularity, Program Analysis, and Program Comprehension.
Software quality and evolution, defect detection, program analysis, and automatic bug repair.
Language Design, Distributed Programming, Distributed Runtimes, Data & Consistency
UI, programming environments, language design, end-EUSE, API usability, DevX, interaction techniques, programming by example, handheld computers, and visual programming
Program Analysis, Software Testing, Software Security
Software assurance and security, Software analysis, Safe concurrency, and Software development tools.
Principal Systems Scientist
Software Architecture, Self-Adaptive Systems, Software Engineering Tools
Alan J. Perlis University Professor of Computer Science
Everyday software, Software architecture, Ultra-large-scale systems, and Appropriate dependability.
Search-Based Software Engineering, Automated Program Repair, Program Analysis, Cyberphysical Systems
Software analytics, social aspects, teams, collaboration, open source ecologies, and “big code”.