Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
European Conference on Software Architecture (ECSA). 2026. Just Accepted! 🎉
ROS-based robotic systems are rarely static as developers continuously add, remove, and rewire components as their systems evolve, often without documentation. In this work, we study how these architectural changes evolve across open-source ROS repositories by building a differential, cross-language recovery tool that tracks component, connection, and configuration changes across releases. We applied it to hundreds of repositories spanning ROS 1 and ROS 2 in C/C++, Python, and XML. We find that evolution diverges by level of analysis: repositories keep growing as new packages are integrated, while individual packages consolidate by pruning connections and configurations as they mature. Changes also tend to co-occur: when a component is removed, its connections and configurations tend to follow in the same release. These findings give specification writers a clearer picture of the maintenance burden of keeping architectural descriptions up-to-date, and point analysis tools toward the mostchange-prone elements.
Ruben Branco*, Paulo Canelas*, Catarina Gamboa*, Alcides Fonseca (* equal contribution)
Mining Challenge at International Conference on Mining Software Repositories (MSR). 2026.
Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
Proceedings of the ACM on Programming Languages (PACMPL), OOPSLA. 2025.
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.