Research
Vision
Marc Andreessen famously wrote that software is eating the world. A decade later, that observation demands a darker reading: AI-based software is now (h)eating it. The computational demand of modern AI systems has grown so rapidly that training and running them has become a measurable contributor to global carbon emissions, and the trajectory is still rising.
My research is driven by a single conviction: sustainability must become a first-class property of software, not an afterthought. This means understanding, at the code level, why software uses the energy it does, and redesigning it so that it uses far less, without losing the capabilities we depend on.
My work sits at the intersection of software engineering, AI systems, and environmental computing. It is empirical, measurement-driven, and grounded in real systems.
Research Themes
1. Green AI and Efficient Agentic Systems
AI systems and emerging agentic workflows can deliver high utility, but often at substantial energy cost. I study how to reduce that cost while preserving performance, robustness, and practical usefulness.
Objective: Make AI and agentic software measurably more energy-efficient through evidence-based optimization strategies.
Research questions:
- Which training and inference strategies reduce energy use without harming task quality?
- How do optimization choices (e.g., pruning, batching, quantization) shift trade-offs across energy, latency, and accuracy?
- How can agentic pipelines be designed to avoid unnecessary computational overhead?
2. Sustainable Scientific Software Engineering
Many scientific workflows still depend on software that is hard to maintain, hard to reproduce, and costly to run. I focus on software engineering methods that improve both sustainability and scientific reliability.
Objective: Build reproducible, maintainable, and energy-aware scientific software systems and experiment pipelines.
Research questions:
- Which architectural and implementation choices in scientific software drive avoidable energy consumption?
- How can reproducibility and maintainability be improved without increasing operational footprint?
- Which software engineering practices help scientific teams sustain systems over long project lifecycles?
3. Carbon-Aware and Energy-Aware Software Operation
Software should adapt to environmental context, not run as if energy and carbon were constant. I investigate runtime and scheduling techniques that align computation with cleaner and more efficient execution opportunities.
Objective: Enable software systems to make runtime decisions that reduce carbon emissions and energy waste.
Research questions:
- How can workloads be shifted or scheduled based on electricity carbon intensity without unacceptable user impact?
- Which runtime adaptation strategies are effective across different software and AI workloads?
- How can developers operationalize carbon-aware execution in production environments?
4. Measurement, Benchmarking, and Tooling
Progress in sustainable software depends on trustworthy measurement. I develop methods and tools that make energy data reliable, comparable, and actionable in both research and engineering workflows.
Objective: Establish rigorous measurement and benchmarking practices and translate them into practical developer tooling.
Research questions:
- How accurate and reproducible are common software energy measurement interfaces across hardware and workloads?
- Which protocols are needed for statistically valid and comparable energy/carbon evaluations?
- How can energy and carbon metrics be integrated into everyday workflows (testing, CI/CD, model evaluation)?
Applied Impact Direction
Beyond core technical work, I also develop communication and decision-support tools (including interactive and VR-based formats) to help practitioners, students, and stakeholders better understand the environmental impact of AI and software systems.