English
Related papers

Related papers: Rust for Embedded Systems: Current State, Challeng…

200 papers

As robotic systems such as autonomous cars and delivery drones assume greater roles and responsibilities within society, the likelihood and impact of catastrophic software failure within those systems is increased.To aid researchers in the…

Software Engineering · Computer Science 2024-04-05 Christopher S. Timperley , Gijs van der Hoorn , André Santos , Harshavardhan Deshpande , Andrzej Wąsowski

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems.…

Logic in Computer Science · Computer Science 2023-03-14 Andrea Lattuada , Travis Hance , Chanhee Cho , Matthias Brun , Isitha Subasinghe , Yi Zhou , Jon Howell , Bryan Parno , Chris Hawblitzel

Many Internet of Things and embedded projects are event-driven, and therefore require asynchronous and concurrent programming. Current proposals for C++20 suggest that coroutines will have native language support. It is timely to survey the…

Software Engineering · Computer Science 2019-06-11 Bruce Belson , Jason Holdsworth , Wei Xiang , Bronson Philippa

In this paper, we aim at the automated unit coverage-based testing for embedded software. To achieve the goal, by analyzing the industrial requirements and our previous work on automated unit testing tool CAUT, we rebuild a new tool,…

Software Engineering · Computer Science 2018-06-19 Chengyu Zhang , Yichen Yan , Hanru Zhou , Yinbo Yao , Ke Wu , Ting Su , Weikai Miao , Geguang Pu

The increasing popularity of the Rust programming language in building robotic applications using the Robot Operating System (ROS 2) raises questions about its real-time execution capabilities, particularly when employing asynchronous…

Software Engineering · Computer Science 2025-07-29 Martin Škoudlil , Michal Sojka , Zdeněk Hanzálek

The current cybersecurity landscape is increasingly complex, with traditional Static Application Security Testing (SAST) tools struggling to capture complex and emerging vulnerabilities due to their reliance on rule-based matching.…

Cryptography and Security · Computer Science 2024-11-25 Mete Keltek , Rong Hu , Mohammadreza Fani Sani , Ziyue Li

The pinning APIs of Rust language guarantee memory location stability for self-referential and asynchronous constructs, as long as used according to the pinning API contract. Rust ensures violations of such contract are impossible in…

Software Engineering · Computer Science 2025-06-23 Yuxuan Dai , Yang Feng

How can we extract useful information from a security forum? We focus on identifying threads of interest to a security professional: (a) alerts of worrisome events, such as attacks, (b) offering of malicious services and products, (c)…

Computation and Language · Computer Science 2020-04-01 Joobin Gharibshah , Evangelos E. Papalexakis , Michalis Faloutsos

Write-ahead logs (WALs) are a fundamental fault-tolerance technique found in many areas of computer science. WALs must be reliable while maintaining high performance, because all operations will be written to the WAL to ensure their…

Operating Systems · Computer Science 2025-07-18 Vitor K. F. Pellegatti , Gustavo M. D. Vieira

The Rust programming language has garnered significant attention due to its robust safety features and memory management capabilities. Despite its guaranteed memory safety, Rust programs suffer from runtime errors that are unmanageable,…

Software Engineering · Computer Science 2024-11-05 Yunbo Ni , Yang Feng , Zixi Liu , Runtao Chen , Baowen Xu

Developers rely on the static safety guarantees of the Rust programming language to write secure and performant applications. However, Rust is frequently used to interoperate with other languages which allow design patterns that conflict…

Software Engineering · Computer Science 2026-01-12 Ian McCormack , Joshua Sunshine , Jonathan Aldrich

Ensuring correctness is crucial for code generation. Formal verification offers a definitive assurance of correctness, but demands substantial human effort in proof construction and hence raises a pressing need for automation. The primary…

In recent years, the importance of smart contract security has been heightened by the increasing number of attacks against them. To address this issue, a multitude of static application security testing (SAST) tools have been proposed for…

Software Engineering · Computer Science 2024-07-02 Kaixuan Li , Yue Xue , Sen Chen , Han Liu , Kairan Sun , Ming Hu , Haijun Wang , Yang Liu , Yixiang Chen

The evolution of information technology and electronics in general has been consistently increasing the use of embedded systems. While hardware development for these systems is already consistent, software development for embedded systems…

Software Engineering · Computer Science 2015-08-05 Rogerio Atem de Carvalho , Hudson Silva , Rafael Ferreira Toledo , Milena Silveira de Azevedo

Program safety (i.e., absence of undefined behaviors) is critical for correct operation of computer systems. It is usually verified at the source level (e.g., by separation logics) and preserved to the target by verified compilers (e.g.,…

Programming Languages · Computer Science 2025-10-14 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

Scripting languages are continuously gaining popularity due to their ease of use and the flourishing software ecosystems that surround them. These languages offer crash and memory safety by design, thus, developers do not need to understand…

Cryptography and Security · Computer Science 2023-02-06 Cristian-Alexandru Staicu , Sazzadur Rahaman , Ágnes Kiss , Michael Backes

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

Open-source software (OSS) is widely spread in industry, research, and government. OSS represents an effective development model because it harnesses the decentralized efforts of many developers in a way that scales. As OSS developers work…

Software Engineering · Computer Science 2022-11-24 William Schueller , Johannes Wachs , Vito D. P. Servedio , Stefan Thurner , Vittorio Loreto

Decompiling Rust binaries is challenging due to the language's rich type system, aggressive compiler optimizations, and widespread use of high-level abstractions. In this work, we conduct a benchmark-driven evaluation of decompilation…

Programming Languages · Computer Science 2025-07-28 Zixu Zhou

A program that maintains key safety properties even when interacting with arbitrary untrusted code is said to enjoy \emph{robust safety}. Proving that a program written in a mainstream language is robustly safe is typically challenging…

Programming Languages · Computer Science 2022-05-16 Marco Patrignani , Sam Blackshear