Potential projects/topics: Programming Languages for Internet-of-Things Application Development
Potential skills gained: programming (Rust), programming language design and implementation
Required qualifications: imperative programming, basic data structures
Direct mentor: Faculty/P.I., Graduate Student
He is currently working on the design of programming abstractions for processing data streams. Several real-time decision making applications rely on the computation of quantitative summaries of very large streams of data. He has proposed StreamQRE, a declarative query language that combines regular expressions, quantitative aggregation, and relational features. A compilation algorithm translates the high-level query into a streaming algorithm with precise guarantees for resource usage. I am also interested in program semantics and logics for program verification. In particular, this includes equational theories of programs based on the framework of Kleene Algebra with Tests.