Resource-Aware Programming (RAP) is an exploratory research project, funded by FCT.
The RAP project aims to give developers more feedback of the resources (time, memory energy) their programs cost, during the development process. The projects relies on considering cost as a probabilistic function, and relying on Genetic Programming to infer the cost of basic blocks, based on execution traces.
RAP is funded by FCT:
EXPL/CCI-COM/1306/2021
– Main project (13/01/2022-12/01/2024)POR011PRE
– Activity Test for Resource-Aware Programming (MN5) (2024)2025.00002.HPCVLAB.ISTUL
* – Acesso HPCvLAB para IST-ULUID/000408/2025
– LASIGE Research Unit
Team
- Alcides Fonseca (PI)
- Francisco Martins
- Antónia Lopes
- Vasco Vasconcelos
- Andreia Mordido
- José Campos
- Wellington Oliveira
- Guilherme Espada (PhD Student)
- Paulo Canelas Santos (PhD Student)
- Catarina Gamboa (PhD Student)
- Pedro Barbosa (PhD Student)
- Leon Ingelse (PhD-level Student)
- Eduardo Madeira (MSc Student)
- Lukas Abelt (MSc Student)
Software
- GeneticEngine An hybrid of Grammar-Guided and Strongly Typed Genetic Programming in Python.
- Aeon A programming language with liquid types, focused on synthesis
- LiquidJava A library+typechecker + VSCode plugin for Java that adds Liquid Types and TypeState.
Publications
Journal
- A comparison of representations in grammar-guided genetic programming in the context of glucose prediction in people with diabetes in GPEM (2024)
- SRBench++: Principled benchmarking of symbolic regression with domain-expert interpretation in IEEE Transactions in Evolutionary Computation (2024)
- Monintainer: An orchestration-independent extensible container-based monitoring solution for large clusters in Journal of Systems Architecture (2023)
- Computational prediction of human deep intronic variation in GigaScience (2023)
Conference Proceedings
- Usability Barriers for Liquid Types at PLDI 2025
- Is it a Bug? Understanding Physical Unit Mismatches in Robot Software in ICRA 2024
- Semantically Rich Local Dataset Generation for Explainable AI in Genomics in GECCO 2024
- Understanding Misconfigurations in ROS: An Empirical Study and Current Approaches in ISSTA 2024
- Analyzing the resource usage overhead of mobile app development frameworks at EASE 2023
- Comparing the expressive power of Strongly-Typed and Grammar-Guided Genetic Programming at GECCO 2023
- Ebserver: Automating Resource-Usage Data Collection of Android Applications at MobileSoft 2023
- Domain-Aware Feature Learning with Grammar-Guided Genetic Programming at EuroGP 2023
- Usability-Oriented Design of Liquid Types for Java at ICSE 2023
- Data Types as a More Ergonomic Frontend for Grammar-Guided Genetic Programming at GPCE 2022
Workshop Proceedings
- Comparing Individual Representations in Grammar-Guided Genetic Programming for Glucose Prediction in People with Diabetes at Grammatical Evolution Workshop, GECCO 2023
- Latte: Lightweight Aliasing Tracking for Java in HATRA and IWACO at SPLASH 2024
- Type Systems in Resource-Aware Programming: Opportunities and Challenges at RAW, ICT4S 2022
- An Experience Report on Challenges in Learning the Robot Operating System at ROSE, ICSE 2022
- Figra: evaluating a larger search space for cardumen in automatic program repair at APR, ICSE 2022
Short Papers
- The Usability Argument for ROS-based Robot Architectural Description Languages at PLATEAU 2025
- LayeredTypes – Combining dependent and independent type systems at Types 2023
- Benchmarking Representations of Individuals in Grammar-Guided Genetic Programming at Evo* 2022
Demos
- Genetic Engine: Genetic Programming for the Common Programmer at <Programming> 2022
- Dive into LiquidJava — Extending Java with Liquid Types at <Programming> 2022
Posters
- Genetic Engine: Grammar-Guided Genetic Programming without the Grammar at <Programming> 2022