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)
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
Conference Proceedings
- 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
- 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
- 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