Is Rust Used Safely by Software Developers?

August 27, 2021

crates.ioに登録された15,097個のクレートにおけるunsafeキーワードの使用状況を調べた。 調査したクレートは、調査を開始した2018年9月時点でcrates.ioに登録された全クレートの81%にあたる。 unsafeを含むクレートは、そのうちの29%だったが、依存するクレートにあるunsafeも対象にすると、50%におよぶ。 crates.ioの総ダウンロード数のうち90%を占める473個の有名なクレートに限定すると、60%のクレートunsafeが含まれる。 2018年9月から2019年6月までの10ヶ月間でunsafeの使用傾向に変化はなく、unsafeの数が少し増えただけであった。 unsafeの用途の大半はunsafeで修飾されたRustの関数を呼び出すためだった。 なお、コンパイラで生成されたunsafeキーワードは集計に含まれていない。

論文をこちらからダウンロードできます。