Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
Proceedings of the ACM on Programming Languages (PACMPL), OOPSLA. 2025. Just Accepted! 🎉
Component-based robot software frameworks like ROS allows quick system composition through reusable components. However, these components often lack proper configuration documentation. When documentation exists, its natural language specifications are unenforced, leading to misconfigurations that cause dangerous robot behaviors. We introduce rospec, a ROS domain-specific language for specifying and verifying component configurations and integration. Informed by prior work on misconfigurations, rospec verifies component configurations, ensures correct component integration through communication properties, and validates configurations against deployment constraints. We demonstrate rospec's effectiveness by modeling a 19-component warehouse robot and implementing partial specifications for components from 182 misconfiguration questions extracted from robotics Q&A platforms.
Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
PLATEAU - The Annual Workshop on the Intersection of HCI and PL. 2025.
Daniel Ramos, Claudia Mamede*, Kush Jain*, Paulo Canelas*, Catarina Gamboa*, Claire Le Goues (* equal contribution)
Large Language Models for Code (LLM4Code) Workshop. 2025. 🏆 Best Paper Award.
Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
International Symposium on Software Testing and Analysis (ISSTA). 2024.
The Robot Operating System (ROS) is a popular framework for building robot software from reusable components, but configuring and connecting these components correctly is challenging. Developers often face issues due to unstated assumptions, leading to misconfigurations that can result in unpredictable and dangerous behavior. To improve the reliability of ROS projects, it is critical to identify the broader set of misconfigurations. To that end, we perform a study on ROS Answers, a Q&A platform, to categorize these misconfigurations and evaluate how well existing detection techniques cover them. We identified 12 high-level categories and 50 sub-categories, with 27 not covered by current techniques.
Paulo Canelas, Trenton Tabor, John-Paul Ore, Alcides Fonseca, Claire Le Goues, Christopher S. Timperley
International Conference in Robotics and Automation (ICRA). 2024.
Catarina Gamboa, Paulo Canelas, Alcides Fonseca, Christopher S. Timperley
International Conference in Software Engineering (ICSE). 2023.
Guilherme Espada, Leon Ingelse, Paulo Canelas, Pedro Barbosa, Alcides Fonseca
International Conference on Generative Programming: Concepts and Experiences. 2022.
Paulo Canelas, Miguel Tavares, Ricardo Cordeiro, Alcides Fonseca, Christopher S. Timperley
International Workshop on Robotics Software Engineering (RoSE) at the International Conference in Software Engineering (ICSE). 2022.
Alcides Fonseca, Paulo Santos, Guilherme Espada, Sara Silva
Genetic Programming Theory and Practice XVIII. 2022.
Paulo Santos, José Campos, Christopher S. Timperley, Alcides Fonseca
International Workshop on Search-Based Software Testing (SBST) at the International Conference in Software Engineering (ICSE). 2021.
Alcides Fonseca, Paulo Santos, Sara Silva
International Conference on Parallel Problem Solving From Nature. 2020.
Paulo Santos, Alcides Fonseca, Sara Silva
Short Paper. Genetic and Evolutionary Computation Conference Companion (GECCO). 2020.