Hello, we are fossBytes.

fossBytesに6月14日(米国時間)に掲載された記事「Microsoft Open Sources "Checked C" — An Extended Version Of C To Avoid Coding Errors」が、Microsoftにより開発が進められている「Checked C」と呼ばれる技術について伝えた。「Checked C」はC言語を拡張する機能で、より安全なコーディングが可能になるとされている。

Microsoftのソフトウェアの多くはC/C++で開発されている。C言語はポインタの扱いを間違えると本来アクセスしてはいけないメモリを指した操作をしてしまうことがあり、これがバグや脆弱性の原因の1つになっている。「Checked C」はこうした問題を回避することを目指してC言語の機能を拡張するもので、ポインタに対してあらかじめ範囲情報を持たせておき、ポインタの指し示す先が範囲内に収まっているかをチェックできるようにした内容になっている。

C言語のポインタに関して犯しがちな過ちが発生しないように設計されたプログラミング言語や拡張機能はほかにも存在している。こうした言語や拡張機能に対し、「Checked C」はMicrosoft Researchの研究者らが開発していること、仕様とソースコードがオープンソース・ソフトウェアとして公開されていること、C言語の機能はそのままに拡張した機能を利用できることなどが特徴となっている。LLVMをベースにして開発された実装系が存在しており、すでに試すことができる状態にある。