{"id":4981,"date":"2024-12-06T13:31:03","date_gmt":"2024-12-06T12:31:03","guid":{"rendered":"https:\/\/mecatron.rma.ac.be\/?page_id=4981"},"modified":"2026-01-05T11:32:41","modified_gmt":"2026-01-05T10:32:41","slug":"forces","status":"publish","type":"page","link":"https:\/\/mecatron.rma.ac.be\/index.php\/projects\/forces\/","title":{"rendered":"FORCES"},"content":{"rendered":"<p><section class=\"kc-elm kc-css-246049 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-707948 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-846747\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-683327 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-747749 kc_col-sm-3 kc_column kc_col-sm-3\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-924863 kc-icon-wrapper\">\n\t\t<i class=\"fa-euro-sign\"><\/i>\n\t<\/div>\n<div class=\"kc-elm kc-css-352044 kc_text_block\"><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.belspo.be\/defra\/\">Defence-related research action (DEFRA)<\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-style: inherit;\">2024 &#8211; 2028<\/span><\/p>\n<p style=\"text-align: center;\">1.8 M\u20ac<\/p>\n<p>\n<\/div><div class=\"kc-elm kc-css-519145 kc_shortcode kc_single_image\">\n\n        <img decoding=\"async\" src=\"https:\/\/mecatron.rma.ac.be\/wp-content\/uploads\/2024\/12\/defra_logo.png\" class=\"\" alt=\"\" \/>    <\/div>\n<div class=\"kc-elm kc-css-861193\" style=\"height: 20px; clear: both; width:100%;\"><\/div><div class=\"kc-elm kc-css-735841 kc-icon-wrapper\">\n\t\t<i class=\"ion-android-people\"><\/i>\n\t<\/div>\n<div class=\"kc-elm kc-css-716645 kc_text_block\"><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/mecatron.rma.ac.be\/index.php\/people\/theo-engels\/\">Th\u00e9o Engels<\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/mecatron.rma.ac.be\/index.php\/people\/ken-hasselmann\/\">Ken Hasselmann<\/a><\/p>\n<p style=\"text-align: center;\">\n<\/div><div class=\"kc-elm kc-css-143115\" style=\"height: 20px; clear: both; width:100%;\"><\/div>\n<div class=\"kc-elm kc-css-698434 kc-title-wrap \">\n\n\t<h1 class=\"kc_title\">Partners<\/h1>\n<\/div>\n<div class=\"kc-elm kc-css-338623 kc_shortcode kc_single_image\">\n\n        <a  href=\"https:\/\/soft.vub.ac.be\/soft\/\" title=\"VUB Software Languages Lab\" target=\"_self\">\n        <img decoding=\"async\" src=\"https:\/\/mecatron.rma.ac.be\/wp-content\/uploads\/2024\/12\/VUB-SOFT_RGB.png\" class=\"\" alt=\"\" \/>    <\/a>\n    <\/div>\n<\/div><\/div><div class=\"kc-elm kc-css-868102 kc_col-sm-6 kc_column kc_col-sm-6\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-661127 kc_text_block\"><\/p>\n<h2 data-pm-slice=\"1 1 &#091;&#093;\">Enhancing Cybersecurity in Defence Robotics by <strong>Advancing Memory-Safe Robotics<\/strong><\/h2>\n<p data-pm-slice=\"1 1 &#091;&#093;\"><span style=\"color: #444444; font-style: inherit;\">The FOundations for Reliable, CorrEct, and Secure robotic systems (FORCES) project tackles a critical challenge in modern cybersecurity: ensuring the safety and resilience of robotic systems against cyber threats. By leveraging the power of memory-safe programming languages, specifically Rust, FORCES aims to transform the way robotic systems are designed and secured for defence applications.<\/span><\/p>\n<h3>Why Memory Safety Matters<\/h3>\n<p>Robotic systems play an essential role in high-stakes defence operations, from surveillance and reconnaissance to demining and payload delivery. However, many of these systems rely on legacy codebases written in C and C++, which allow direct memory manipulation\u2014a leading cause of severe security vulnerabilities. Historical incidents, such as the Heartbleed bug and the BLASTPASS vulnerability, have underscored the risks posed by unsafe memory practices.<\/p>\n<p>In response, the FORCES project addresses these vulnerabilities by pioneering a transition to Rust, a memory-safe programming language that prevents out-of-bounds errors and use-after-free bugs. By prioritizing memory safety, FORCES supports the resilience and security of robotic systems critical to defence.<\/p>\n<h3>Objectives of the FORCES Project<\/h3>\n<p>FORCES sets out to achieve three key objectives:<\/p>\n<ol start=\"1\" data-spread=\"false\">\n<li>\n<p><strong>Developing a Robust Transpilation Tool<\/strong>: This innovative tool will automatically convert legacy C\/C++ code into Rust, enhancing memory safety while maintaining performance.<\/p>\n<\/li>\n<li>\n<p><strong>Creating a Comprehensive Evaluation Framework<\/strong>: This framework will define metrics for correctness, security, performance, and maintainability, ensuring the automated transpilation process meets rigorous standards.<\/p>\n<\/li>\n<li>\n<p><strong>Demonstrating Practical Applicability<\/strong>: The methodology will be validated across various defence-related robotic use cases, proving the effectiveness of the approach in real-world scenarios.<\/p>\n<\/li>\n<\/ol>\n<h3>Expected Impact<\/h3>\n<p>By significantly reducing the attack surface of cyber-physical systems, FORCES will enhance the overall security of defence robotics. The adoption of Rust not only mitigates memory-related vulnerabilities but also fosters a culture of secure programming within the defence sector. These advancements will ensure greater resilience against cyber threats and improve trust in the systems produced by defence research institutions.<\/p>\n<h3>Project Execution<\/h3>\n<p>The FORCES project will unfold over three phases:<\/p>\n<ol start=\"1\" data-spread=\"false\">\n<li>\n<p><strong>Research Phase (Year 1)<\/strong>: Focused on developing the transpilation methodology and defining evaluation metrics.<\/p>\n<\/li>\n<li>\n<p><strong>Prototype Development (Year 2)<\/strong>: Culminating in a TRL4 prototype, this phase will demonstrate the viability of the transpilation tool on selected defence robotic use cases.<\/p>\n<\/li>\n<li>\n<p><strong>Refinement and Expansion Phase (Years 3-4)<\/strong>: Aiming for TRL5, this phase will enhance the tool\u2019s maturity and expand its application to a broader range of defence scenarios.<\/p>\n<\/li>\n<\/ol>\n<h3>A Collaborative Effort<\/h3>\n<p>The FORCES project is a collaboration between three key partners:<\/p>\n<ul data-spread=\"false\">\n<li>\n<p><strong>Vrije Universiteit Brussel (VUB)<\/strong>: A leader in software engineering research, VUB will develop the transpilation methodology and define performance metrics.<\/p>\n<\/li>\n<li>\n<p><strong>Royal Military Academy (RMA)<\/strong>: With extensive experience in defence systems and robotics, RMA will provide realistic use cases for validation and contribute to refining the tools and metrics.<\/p>\n<\/li>\n<li>\n<p><strong>Thales Belgium (TBE)<\/strong>: As an industry leader in cybersecurity, TBE will define maintainability and security metrics to ensure the highest standards of security for the transpiled code.<\/p>\n<\/li>\n<\/ul>\n<h3>Shaping the Future of Defence Robotics<\/h3>\n<p>Through state-of-the-art technologies and methodologies, including static analysis, automated testing, and performance evaluation, FORCES will establish new benchmarks for secure programming and resilient robotic systems in defence. The project\u2019s outcomes will not only address current vulnerabilities but also lay the groundwork for a more secure future in cyber-physical systems.<\/p>\n<p>\n<\/div><\/div><\/div><div class=\"kc-elm kc-css-635076 kc_col-sm-3 kc_column kc_col-sm-3\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-317670 kc-raw-code\">  <script>\n    window.addEventListener(\"load\", () => {\n      mastodonFeedLoad(\n        \"https:\/\/social.rma.ac.be\/api\/v1\/timelines\/tag\/DEFRA_FORCES\",\n        \"include-mastodon-feed-69df00055badf\",\n        {\n          linkTarget: \"_self\",\n          showPreviewCards: true,\n          excludeConversationStarters: false,\n          excludeTags: \"\",\n          content: {\n            hideStatusMeta: false,\n            hideDateTime: false          },\n          images: {\n            preserveImageAspectRatio: false,\n            size: \"preview\",\n            link: \"status\",\n          },\n          text: {\n            boosted: \"boosted \ud83d\ude80\",\n            noStatuses: \"No statuses available\",\n            viewOnInstance: \"view on instance\",\n            showContent: \"Show content\",\n            permalinkPre: \"on\",\n            permalinkPost: \"\",\n            edited: \"(edited)\",\n          },\n          localization: {\n            date: {\n              locale: \"en-US\",\n              options: {},\n            }\n          }\n        }\n      );\n    });\n  <\/script>\n  <div class=\"include-mastodon-feed-wrapper\"><ol class=\"include-mastodon-feed\" id=\"include-mastodon-feed-69df00055badf\"><li>Loading Mastodon feed...<\/li><\/ol><\/div>\n<\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-529478 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-171906 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-238353\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-379529 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-942396 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\">\n<div class=\"kc-elm kc-css-622630 kc-title-wrap \">\n\n\t<h4 class=\"kc_title\">Project Publications<\/h4>\n<\/div>\n<div class=\"kc-elm kc-css-268382 kc_text_block\"><\/p>\n<p><h3 class=\"papercite\">2025<\/h3>\n<ul class=\"papercite_bibliography\">\n<li>    R. De Greef, A. Discepoli, E. Aguililla Klein, T. Engels, K. Hasselmann, and A. Paolillo, &#8220;Towards Macro-Aware C-to-Rust Transpilation (WIP),\" in <span style=\"font-style: italic\">Proceedings of the 26th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems<\/span>, New York, NY, USA,  2025, p. 57\u201361.    <br \/>   <a href=\"javascript:void(0)\" id=\"papercite_0\" class=\"papercite_toggle\">[BibTeX]<\/a>      <a href=\"javascript:void(0)\" id=\"papercite_abstract_0\" class=\"papercite_toggle\">[Abstract]<\/a>         <a href=\"https:\/\/doi.org\/10.1145\/3735452.3735535\" title='Download PDF' class='papercite_pdf'>[Download PDF]<\/a>         <a href='http:\/\/dx.doi.org\/10.1145\/3735452.3735535' class='papercite_doi' title='View on publisher site'>[DOI]<\/a><br \/>\n<blockquote class=\"papercite_bibtex\" id=\"papercite_abstract_0_block\">\n<p>The automatic translation of legacy C code to Rust presents significant challenges, particularly in handling preprocessor macros. C macros introduce metaprogramming constructs that operate at the text level, outside of C&#8217;s syntax tree, making their direct translation to Rust non-trivial. Existing transpilers \u2013- source-to-source compilers \u2013- expand macros before translation, sacrificing their abstraction and reducing code maintainability. In this work, we introduce Oxidize, a macro-aware C-to-Rust transpilation framework that preserves macro semantics by translating C macros into Rust-compatible constructs while selectively expanding only those that interfere with Rust&#8217;s stricter semantics. We evaluate our techniques on a small-scale study of real-world macros and find that the majority can be safely and idiomatically transpiled without full expansion.<\/p>\n<\/blockquote>\n<div class=\"papercite_bibtex\" id=\"papercite_0_block\">\n<pre><code class=\"tex bibtex\">@inproceedings{10.1145\/3735452.3735535,\nauthor = {De Greef, Robbe and Discepoli, Attilio and Aguililla Klein, Esteban and Engels, Th'{e}o and Hasselmann, Ken and Paolillo, Antonio},\ntitle = {Towards Macro-Aware C-to-Rust Transpilation (WIP)},\nyear = {2025},\nisbn = {9798400719219},\npublisher = {Association for Computing Machinery},\naddress = {New York, NY, USA},\nurl = {https:\/\/doi.org\/10.1145\/3735452.3735535},\ndoi = {10.1145\/3735452.3735535},\nabstract = {The automatic translation of legacy C code to Rust presents significant challenges, particularly in handling preprocessor macros. C macros introduce metaprogramming constructs that operate at the text level, outside of C's syntax tree, making their direct translation to Rust non-trivial. Existing transpilers --- source-to-source compilers --- expand macros before translation, sacrificing their abstraction and reducing code maintainability. In this work, we introduce Oxidize, a macro-aware C-to-Rust transpilation framework that preserves macro semantics by translating C macros into Rust-compatible constructs while selectively expanding only those that interfere with Rust's stricter semantics. We evaluate our techniques on a small-scale study of real-world macros and find that the majority can be safely and idiomatically transpiled without full expansion.},\nbooktitle = {Proceedings of the 26th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems},\npages = {57\u201361},\nnumpages = {5},\nkeywords = {Abstract Syntax Tree, C, Embedded, Macros, Metaprogramming, Preprocessor, Rust, Transpilation},\nlocation = {Seoul, Republic of Korea},\nunit= {meca-ras},\nproject= {FORCES},\nseries = {LCTES '25}\n}<\/code><\/pre>\n<\/p>\n<\/div>\n<\/li>\n<li>    T. Engels, A. Discepoli, R. De Greef, E. Aguililla Klein, F. D&#8217;Agostino, R. Gunsett, J. Pisane, K. Hasselmann, and A. Paolillo, &#8220;FORCES: An Incremental Transpiler from C\/C++ to Rust for Robust and Secure Robotics Systems,\" in <span style=\"font-style: italic\">Workshop on Rust for Robotics: Building Robust Foundations for Tomorrow\u2019s Autonomous Systems, IEEE International Conference on Robotics and Automation (ICRA)<\/span>,  2025.    <br \/>   <a href=\"javascript:void(0)\" id=\"papercite_1\" class=\"papercite_toggle\">[BibTeX]<\/a>\n<div class=\"papercite_bibtex\" id=\"papercite_1_block\">\n<pre><code class=\"tex bibtex\">@inproceedings{engels2025forces, author = {Engels, Th{'e}o and Discepoli, Attilio and De Greef, Robbe and Aguililla Klein, Esteban and D'Agostino, Francesco and Gunsett, Remi and Pisane, Jonathan and Hasselmann, Ken and Paolillo, Antonio}, title = {{FORCES}: An Incremental Transpiler from {C\/C++} to {Rust} for Robust and Secure Robotics Systems}, booktitle = {Workshop on Rust for Robotics: Building Robust Foundations for Tomorrow\u2019s Autonomous Systems, IEEE International Conference on Robotics and Automation (ICRA)}, year = {2025}, unit= {meca-ras},  project= {FORCES}, note = {Workshop Paper} }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/li>\n<\/ul>\n<p>\n<\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-436717 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-848454 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-958256\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":4982,"parent":2797,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4981","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/4981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/comments?post=4981"}],"version-history":[{"count":9,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/4981\/revisions"}],"predecessor-version":[{"id":5400,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/4981\/revisions\/5400"}],"up":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/2797"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/media\/4982"}],"wp:attachment":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/media?parent=4981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}