すべてのCコードをRustに変換する技術(TRACTOR)
(darpa.mil)-
CをRustに翻訳する(TRACTOR)
- Dr. Dan Wallach
- 20年以上にわたってCおよびC++のメモリ安全性の問題を解決しようとする努力の末、ソフトウェアエンジニアリングのコミュニティは結論に到達した
- バグ検出ツールに依存するだけでは不十分である
- コンパイル時点で安全でないプログラムを拒否できる「安全な」プログラミング言語を使用することが好まれる
- TRACTORプログラムは既存のCコードをRustへ自動翻訳することを目標としている
- 熟練したRust開発者が書いたものと同等の品質とスタイルを実現し、Cプログラムに起因するメモリ安全性のセキュリティ脆弱性を取り除くことが目標である
- このプログラムには、静的解析、動的解析、大規模言語モデルのような機械学習技術の新しい組み合わせが含まれる可能性がある
- 追加情報はSAM.GovのTRACTOR Special Noticeで確認できる
-
DARPAの主な成果
-
ステルス革命
- DARPAのステルス技術研究の初期に、F-117Aの試作機であるHave Blueが1977年に初めて飛行に成功した
- F-117Aプログラムの成功はステルス革命の始まりを告げ、これは国家安全保障に莫大な利益をもたらした
-
手のひらの中のナビゲーション
- 初期のGPS受信機は大きく重い装置だった
- 1983年、DARPAはこれを小型化するために取り組み、GPS機能のはるかに広い普及を導いた
-
現代インターネットへの道を切り開く
- ARPAの研究は情報革命を始動させるうえで重要な役割を果たした
- ARPANETの概念的基盤を開発し、デジタルプロトコルを発明してインターネットの誕生を導いた
-
-
GN⁺のまとめ
- TRACTORプログラムは既存のCコードをRustへ自動翻訳し、メモリ安全性の問題を解決しようとする重要な試みである
- DARPAの研究は、ステルス技術、GPSの小型化、インターネットの誕生など、現代技術の発展に大きく貢献した
- この記事はソフトウェアエンジニアや技術史に関心のある人々にとって有益である可能性がある
- 類似した機能を持つプロジェクトとしては、MicrosoftのChecked CやGoogleのCarbon言語がある
1件のコメント
Hacker News の意見
熟練したプログラマーが書いた Rust は C とは大きく異なり、興味深いコードの大半は C++ で書かれている
この提案が公開されたことは興味深い
「Rust で世界を書き直そう」という考え方は好きではない
多くの人がこのプロジェクトを、C と C++ のコードを Rust に翻訳せよという要求として読んでいる
翻訳されたコードベースを維持することには問題がある
自動で移植するプログラムは、C コードを安全にできるあらゆる機能を含んでいなければならない
Mozilla で解雇された有能なエンジニアをまず雇い、言語そのものの作業を継続させるほうがよい
DARPA がこの問題を推進するのはよいことだ