Research
My research sits at the intersection of data management, data science, and artificial intelligence, with a focus on real-time data streams, smart cities, and novel database architectures. My students and I build systems to experiment with and validate new algorithms and ideas.
Current work spans three active projects:
Active Projects
PittSmartLiving
Smart city sensing and analytics for the Pittsburgh urban area. The project builds infrastructure and algorithms for collecting, managing, and analyzing data from urban sensors to support data-driven decision making for city planners, residents, and policymakers.
Detecting Prompt Text-to-SQL Attacks
As large language models are increasingly used to translate natural language queries into SQL, they introduce new security vulnerabilities. This project develops techniques for detecting and mitigating prompt injection attacks targeting text-to-SQL systems, combining database security with LLM robustness.
Social, Diversity-Aware Recommender Systems
Recommender systems traditionally optimize for a single user’s preferences, but real-world deployments involve multiple stakeholders with competing interests. This project develops multi-stakeholder recommender systems that balance fairness, diversity, and utility across all parties involved.
Past Research
My earlier work addressed foundational challenges in data management across several interconnected themes. In web data management, I investigated how database-backed websites could maintain data freshness under high query loads, leading to the WebView materialization framework and work on quality contracts for web databases. In data stream management, my group developed scheduling algorithms, load shedding strategies, and access control mechanisms for continuous query processing systems — work that spanned over a decade and produced the ADMT laboratory’s core contributions to the field. In sensor networks, we tackled the dual challenges of energy efficiency and data quality in early wireless sensor deployments. Later work on graph partitioning addressed the problem of distributing large-scale graph computations efficiently across parallel architectures, with applications to scientific simulation and social network analysis. Throughout, a unifying theme has been building systems that help people make better decisions from complex, fast-moving data.
A complete list of publications is available on the publications page.