@techreport{oai:ipsj.ixsq.nii.ac.jp:00210109, author = {尾崎, 純平 and 高野, 祐輝 and 宮地, 充子}, issue = {12}, month = {Mar}, note = {プログラミング言語の問題点がソフトウェアの脆弱性を導くことが多く,安全なプログラミング言語の確立は重要である.メモリ安全性とはぶら下がりポインタやオーバーラン等のメモリに関する問題を未然に防ぐことを意味する.C 言語や C++ 言語はメモリ安全性は担保されておらず,メモリ安全性の担保が可能な Rust が代替言語として注目されている.Rust のメモリ安全性に注目して隔離環境を実装した OS がいくつか存在するが,OS 実装の際はメモリアロケータを別途構築する必要があり,隔離環境の実装はメモリアロケータに依存している.しかし現時点でメモリアロケータの動作検証は充分に行われていない.本論文ではメモリアロケータの動作を検査するフレームワークの提案を行う.フレームワークはメモリの確保 / 開放の動作を対象とし,動作範囲と動作時間の 2 点について検査する.またフレームワークを用いて Rust で制作された既存のメモリアロケータの動作について検証し,パフォーマンスの比較を行った., 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 buffer 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.}, title = {Rust言語用動的メモリアロケータの検査フレームワークの提案}, year = {2021} }