Manuel Abreu, LuΓs Garrote, LuΓs Conde Bento,
Bradley Schmerl, Urbano J Nunes and
David Garlan. Formal Verification of Deep Neural Networks for Classification in Industrial Environments. In Proc. the 16th International Conference on Information Science and Technology, Coimbra, Portugal. October 1-6, 2026.
Abstract: Deep Learning methods, particularly Convolutional Neural Networks (CNN), have become widely adopted in indus- trial computer vision applications due to their strong image classification capabilities. In industrial environments, reliable object recognition is essential for automated systems such as warehouse automation and sorting processes, where incorrect classifications may lead to operational failures and reduced system reliability. Despite their performance, CNN-based models remain vulnerable to adversarial perturbations, raising concerns regarding their deployment in safety-critical applications. Industrial vision systems deployed in safety-critical environ- ments must operate reliably under adversarial perturbations and common perception degradations. This work presents a robustness analysis of image classification models for industrial environments using RGB and RGB-D data. An industrial object dataset containing seven classes was constructed through an ob- ject detection and extraction pipeline, resulting in object-centered image samples. Two CNN-based architectures were developed and evaluated: a baseline RGB model and a multimodal RGB-D model. Model robustness was analyzed through both formal verifica- tion and corruption-based robustness evaluation. Formal verifi- cation was performed using the alpha-beta-CROWN framework under different perturbation magnitudes, assessing whether the CNNs preserve their predictions under bounded perturbations. In addition, corruption-based experiments following the ImageNet- C protocol were conducted to evaluate model behavior under common image degradations.
Paulo Canelas,
Bradley Schmerl, Alcides Fonesca and Christopher Steven Timperley. How does ROS-based Robot Software Evolve? An Empirical Study on Architectural Evolution. In Proc. the 20th European Conference on Software Architecture (ECSA 2026), Bolzano, Italy. September 7-11, 2026.
https://doi.org/10.7551/mitpress/2705.003.0004.
To Appear.
Abstract: The Robot Operating System (ROS) is the de facto framework for building open-source robotic software systems. Developers architect their system by using reusable components, connecting them via config- uration files and source code. These architectures evolve as developers add, remove, and modify components, connections, and configurations. These changes can lead to architectural misconfigurations detectable by specification languages and analysis tools. However, these focus on snapshots in time without considering how architectures evolve. By un- derstanding this evolution, we can help specification writers estimate the maintenance burden of their descriptions and promote tools toward the most change-prone elements. To that end, we conduct an empirical study of architectural evolution in open-source ROS systems. We develop a differential, cross-language architectural recovery tool that extracts components, connections, and configurations from source code and apply it to 294 repositories, with 1728 packages across 9914 releases, spanning ROS 1 and ROS 2 in C/C++, Python, and XML. As ROS repositories aggregate multiple packages at different maturity stages, we analyze evolution at the repository and package levels. We find that evolution di- verges across levels, with repositories remaining addition-dominant while mature packages consolidate by removing connections and configurations. Furthermore, changes co-occur across elements: component removals are associated with the removal of their connections and configurations.
Paulo Canelas,
Bradley Schmerl, Alcides Fonesca and Christopher Steven Timperley. ROSpec: A Domain-Specific Language for ROS-based Robot Software. In Proc. ACM Programming Languages 9, OOPSLA2, Singapore. p. 29. October 12-18, 2025.
https://doi.org/10.1145/3763169.
Abstract: Component-based robot software frameworks, such as the Robot Operating System (ROS), allow developers to quickly compose and execute systems by focusing on configuring and integrating reusable, off-the-shelf components. However, these components often lack documentation on how to configure and integrate them correctly. Even when documentation exists, its natural language specifications are not enforced, resulting in misconfigurations that lead to unpredictable and potentially dangerous robot behaviors. In this work, we introduce ROSpec, a ROS-tailored domain-specific language designed to specify and verify component configurations and their integration. ROSpecβs design is grounded in ROS domain concepts and informed by a prior empirical study on misconfigurations, allowing the language to provide a usable and expressive way of specifying and detecting misconfigurations. At a high level, ROSpec verifies the correctness of argument and component configurations, ensures the correct integration of components by checking their communication properties, and checks if configurations respect the assumptions and constraints of their deployment context. We demonstrate ROSpecβs ability to specify and verify components by modeling a medium-sized warehouse robot with 19 components, and by manually analyzing, categorizing, and implementing partial specifications for components from a dataset of 182 misconfiguration questions extracted from a robotics Q&A platform.
Paulo Canelas,
Bradley Schmerl, Alcides Fonesca and Christopher Steven Timperley. The Usability Argument for ROS-based Robot Architectural Description Languages. In Proc. the 15th annual workshop on the intersection of HCI and PL. February 17-18, 2025.
Abstract: Component-based architectures in robotics, like the Robot Operating System (ROS), simplify system development by integrating reusable, off-the-shelf components. However, these components often lack sufficient documentation on their use and the architectures they form, leading to architectural misconfigurations. General-purpose Architectural Description Languages (ADLs) effectively provide properties to detect misconfigurations but are burdensome to use, as they require mapping new language-specific concepts to the ROS domain. This work introduces rospec, a novel ADL embedding ROS-specific knowledge to help developers specify and detect architectural misconfigurations. By mapping the language's syntax with ROS concepts, we argue that practitioners can more easily understand and reason about specifications written in the language. We provide an example and compare it with a general-purpose ADL.
π
Abstract: Many self-adaptive systems benefit from human involvement, where human operators can complement the capabilities of systems (e.g., by supervising decisions, or performing adaptations and tasks involving physical changes that cannot be automated). However, insufficient preparation (e.g., lack of task context comprehension) may hinder the effectiveness of human involvement, especially when operators are unexpectedly interrupted to perform a new task. Preparatory notification of a task provided in advance can sometimes help human operators focus their attention on the forthcoming task and understand its context before task execution, hence improving effectiveness. Nevertheless, deciding when to use preparatory notification as a tactic is not obvious and entails considering different factors that include uncertainties induced by human operator behavior (who might ignore the notice message), human attributes (e.g., operator training level), and other information that refers to the state of the system and its environment.
In this paper, informed by work in cognitive science on human attention and context management, we introduce a formal framework to reason about
the usage of preparatory notifications
in self-adaptive systems involving human operators. Our framework characterizes the effects of managing attention via task notification in terms of task context comprehension. We also build on our framework to develop an automated probabilistic reasoning technique able to determine when and in what form a preparatory notification tactic should be used to optimize system goals. We illustrate our approach in a representative scenario of human-robot collaborative goods delivery.
Abstract: Self-adaptive systems increasingly need to reason about and adapt both structural and behavioral system aspects, such as in mobile service robots, which must reason about missions that they need to achieve and the architecture of the software executing them. Deciding how to best adapt these systems to run time changes is challenging because it entails considering mutual dependencies between the software architecture that the system is running and the outcome of plans for completing tasks, while also considering multiple trade-offs and uncertainties. Considering all these aspects in planning for adaptation often yields large solution spaces which cannot be adequately explored at run time.
We address this challenge by proposing a planning approach able to consider the impact of mutual dependencies between software architecture and task planning on the satisfaction of mission goals. The approach is able to reason quantitatively about the outcome of adaptation decisions handling both the reconfiguration of the system's architecture and adaptation of task plans under uncertainty and in a rich trade-off space.
Our results show: (i) feasibility of run-time decision-making for self-adaptation in an otherwise intractable solution space by dividing-and-conquering adaptation into architecture reconfiguration and task planning sub-problems, and (ii) improved quality of adaptation decisions with respect to decision making that does not consider dependencies between architecture and task planning.