Resource Awareness in Programming: Algebra, Rewriting, and Analysis

PRIN 2022 PNRR Dal Lago

Abstract

Software pervades every aspect of modern life, yet certifying its safety and reliability remains extremely challenging. As software grows in scale, traditional input-output-based safety analyses fall short. This has led to a paradigm shift in Computer Science: treating data and computation as physical resources rather than abstract entities. This "resource-awareness" is key to understanding phenomena like data privacy, information leakage, and energy consumption. To meet these emerging demands, resource-awareness must inform all aspects of programming—syntax, semantics, and analysis. However, traditional programming theories are resource-agnostic, and while recent advances (e.g., monoidal syntax, coeffects) have introduced partial solutions, they fail to offer a unified syntactic and semantic model of resources, limiting their applicability to real-world safety analysis. The Resource Awareness in Programming (RAP) initiative aims to bridge this gap by developing algebraic, resource-aware semantics for resource-sensitive syntax (e.g., via string diagrams and monoidal structures), resource-aware rewrite systems, and novel program analyses grounded in abstract interpretation and program logic. These tools will enable automated certification of critical properties in modern software systems.

Project details

Unibo Team Leader: Ugo Dal Lago

Unibo involved Department/s:
Dipartimento di Informatica - Scienza e Ingegneria

Coordinator:
Università degli Studi di Padova(Italy)

Total Eu Contribution: Euro (EUR) 273.836,00
Total Unibo Contribution: Euro (EUR) 130.462,00
Project Duration in months: 27
Start Date: 30/11/2023
End Date: 28/02/2026

Funding bodies' logos