Microsoft、C言語に静的/動的チェック機能を加えた「Checked C」を公開

 Microsoft ResearchがC言語を拡張したプログラミング言語「Checked C」を発表した。静的/動的なチェック機構を加えることで、よくあるプログラミングのエラーを検出・予防するという。仕様およびテストコード、サンプルをオープンソースで公開している。

 C言語のセキュリティを向上させるという取り組みで、データにアクセスするためのポインタの処理を改善し、どのようにポインタを使用したり、ポインタが参照する範囲を指定するなどのことができるという。

 Checked Cでは、バッファオーバフロー、領域外メモリー参照などのエラーを検出するチェック機能を加えた。ランタイムでメモリの完全性を強制する動的チェックにより、静的チェックでは検出が難しいエラーを検出して問題を予防できるという。後方互換性もあり、既存のCプログラムを書き直すことなく動かせるとしている。

 今後、Checked CをサポートするLLVM/clangの修正版を作成中で、コードを Checked C clang及びChecked C LLVMの両リポジトリで公開している。ライセンスはMIT License。

CheckedC
https://github.com/Microsoft/checkedc