I am a PhD student working under the supervision of Alcides Fonseca, Sara Silva, and Christopher S. Timperley. My research focuses on developing program analysis techniques to detect errors in software systems. Previously, I worked on evolutionary program synthesis using refinement types, and I am currently closely researching the application of software engineering techniques to the robotics field (Software Engineering for Robotics).
",
which does not match the baseurl
("
") configured in _config.yml
.
baseurl
in _config.yml
to "
".
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.
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.