チェックC:MicrosoftによるOpenSource C拡張

マイクロソフトのオープンソースコミュニティに対する愛情は日々高まっているようです。 Microsoft CEOのSatya Nadellaが昨年宣言した後、宣言 -

“マイクロソフト♥Linux”

マイクロソフトは、Linuxおよびオープンソースコミュニティへの多くの貢献を進めてきました。 その中には、LinuxとMac用の.NET配布、Linux用のVisual Studioコード、Javascript Engine ChakraCore、Linux用のSQL Server、Windows上のUbuntu上のBash、Azure上のFreeBSDイメージなどがあります。

そして最近追加されたのは、 Checked Cです。これは、プログラマーにより信頼性の高い安全なエクスペリエンスを提供するCプログラミング言語の拡張バージョンです。

チェックC

Checked Cは当初、バッファオーバーラン、範囲外のメモリアクセス、不正な型キャストなどの一般的なプログラミングエラーを検出して防止するために、Cで範囲チェックを実装することを目的としたMicrosoft Researchプロジェクトです。 Microsoftがオープンソースにしたので、Checked Cの最新版とその仕様はGitHubリポジトリのリリースページにあります。

この拡張チェックCはどのように優れていますか?

Cプログラミング言語は、データポインタへのアクセスに特別な概念を使用しています。 ポインタはメモリセルのアドレスです。 ポインターを使用するのは難しいことがあり、経験豊富なプログラマーでも作業するときに間違いを犯すことがあります。 その結果、プログラムがクラッシュ、誤動作、または脆弱性にさらされる可能性があります。

Checked Cはプログラマーに彼らの使用されたポインターと彼らがそれらをどのように使用するつもりであるかについてよりよく記述するオプションを提供します。 これらの情報を使用して、データがその意図された範囲内でアクセスされていることを確認するために範囲チェック方法を使用します。 そしてMicrosoftによると、

Checked Cという名前は、静的および動的チェックがCに追加されているという事実を反映しています。

バッファオーバーランや不正な型キャストなどのプログラミングエラーの場合、Checked Cを使用すると、プログラマーはプログラムの実行時または書き込み中にこれらの種類のエラーを検出するためのチェックをプログラムに追加できます。 これらの拡張により、Checked Cはセキュリティの脆弱性やソフトウェアの信頼性の問題を回避することができます。

ほとんどのシステムソフトウェアはCまたはC ++プログラミング言語で書かれています。 システムソフトウェアを書くことの事はプログラマーがプログラムの機能性の上に正確な制御を必要とするということです。 そしてそれを念頭に置いて、Checked Cは間違いなくシステム・プログラマーにとって大きな助けとなるでしょう。

既存のCコードはどうですか?

心配する必要はありません。 チェックされたCは完全に後方互換性があります。 これは既存のC言語の単なる拡張です。 そのため、既存のCコードはChecked Cでも同様に機能します。 そして拡張機能を利用して変更することができます。 Checked Cプロジェクトページに記載されているように、

既存のシステムソフトウェアを下位互換性のある方法で段階的に変更して、このチェックを行うことができます。

あなたはチェックCについてどう思いますか? あなたはCプログラマですか? チェックCを試してみるのはいつですか。

推奨されます

Ubuntu LinuxにPandoraラジオクライアントPithosをインストールする
2019
Linuxでapt-getコマンドを使用する
2019
イリジウムブラウザ:プライバシーを意識したブラウザ
2019