Abstract

The establishment of secure programming languages is important because problems with programming languages often lead to software vulnerabilities. Memory safety is the ability to prevent problems related to memory such as dangling pointers and overruns. The C and C++ languages do not guarantee memory safety, and Rust, which can guarantee memory safety, has been attracting attention as an alternative language. Although there are several operating systems that have implemented isolated environments focusing on the memory safety of Rust, the implementation of the isolated environment depends on the memory allocator, which must be prepared by the user. At present, however, the memory allocator has not been sufficiently verified. In this paper, we propose a framework for checking the behavior of memory allocators. The framework targets the memory allocation/deallocation operations, and is inspected for two points: operation range and operation time. We also verified the behavior of existing memory allocators created with Rust using the framework, and compared their performance.

Top