Software/systems security and software engineering; program analysis and testing; machine learning for security; security and reliability of multi-language software, distributed systems, and mobile/IoT systems and applications
Research in networking and distributed systems focuses on enabling communication of and orchestrating coordination of a large number of computing nodes.
Programming Language research focuses on type systems, program logics, language-based and differential privacy and security; language, compiler, and run-time design for reliable systems; static and dynamic analyses for real-time Android; run-time visualization and verification; adaptive memory management; language concepts for database programming; logic- and constraint-based systems.