The two contributions we present in this edition are very different. The first one concerns detecting unsafe code in Rust, thus a code-driven approach, while the second aims at identifying inconsistent behaviours in autonomous driving systems (ADSs) through metamorphic testing, thus a specification-driven approach. The first paper, 'SafeNet: Towards mitigating replaceable unsafe Rust code via a recommendation-based approach' by Yan Dong et al., focuses on improving memory safety in Rust system-level programming language. Despite its robust safety features, low-level controls may lead to have unsafe code, exposing to memory safety risks. SafeNet is a tool that identifies and mitigates unnecessary unsafe code in Rust by analysing the usage patterns of unsafe APIs in the Rust standard library and providing safer alternatives. This recommendation-based approach leverages dataflow analysis and a Bidirectional Encoder Representations from Transformers (BERT)-based machine learning model to recognize and suggest safe code patterns. The evaluation shows that SafeNet can successfully identify a vast majority of unsafe code snippets from GitHub projects. This contribution helps developers in reducing memory safety risks and improving code reliability. The second paper, 'MetaSem: Metamorphic testing based on semantic information of autonomous driving scenes' by Zhen Yang et al., addresses the need for thorough testing of ADSs. Given the complexity of driving scenarios, ADSs can make erroneous decisions, necessitating comprehensive testing methods. Adopting metamorphic testing principles, MetaSem offers a novel testing approach that exploits semantic information of driving scenes. The key enabler consists of expressing the relevant metamorphic relations (11 in this paper) based on driving scenarios and traffic regulations. The second ingredient is automatically modify scene images thanks to transformation modules. Empirical studies on three advanced ADS models demonstrated that MetaSem effectively generated realistic scene images and identified an impressive number of inconsistent behaviours. While SafeNet's approach mitigates unsafe code in Rust, MetaSem's metamorphic testing exemplifies the need for ongoing innovation and rigorous testing for ADSs. We hope that both papers will inspire researchers and Software Testing, Verification & Reliability (STVR) readers to explore these research directions, contributing to the correctness and reliability of complex software systems.
No takes yet. Share an insight, caveat, or question.
Traon et al. (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: