高い信頼性/可用性/セキュリティのコーディング-どの標準を読みますか?

StackOverflow https://stackoverflow.com/questions/142722

質問

自動車産業にはMISRA Cと呼ばれるものがあると聞きました。

次のような他の高信頼性/可用性/セキュリティ業界に関連する標準は何ですか

  • スペース
  • 航空機
  • 銀行/金融
  • 自動車
  • 医療
  • 防衛/軍事
  • ???

-アダム

役に立ちましたか?

解決

Goddard Space Flight Centerとそのコーディング標準をご覧ください。私が自分のコードで採用したC標準の1つは、ヘッダーが自己完結型でなければならず、それを強制する簡単な方法を提供することです-モジュールのヘッダーはモジュールに含まれる最初のファイルでなければならないので、ファイルが自己完結型でない場合、コンパイルされません。

他のヒント

コーディングについて特に質問している場合、MISRAはCの一般的な間違いを避けるためのガイドラインを提示します。

ただし、優れたソフトウェアにはコーディングよりもはるかに多くのことがあります。 「聖書」 SW開発のための航空業界のDO-178Bです。さまざまな設計段階で対処する必要がある質問と、回答を文書化する方法を示します。これは膨大な量の事務処理ですが、飛行機を空中に保ちたい場合は、ソフトウェアではなく人間(パイロット)が最も弱いポイントになるようにします。

Ada で信頼性の高いシステムをプログラミングする場合、 ISO / IEC TR 15942:"情報技術—プログラミング言語—整合性の高いシステムでAdaプログラミング言語を使用するためのガイド」

  

はじめに

     

社会として、私たちはますます   高整合性システムに依存:   安全システム用(など   フライバイワイヤ航空機)、セキュリティ用   システム(デジタルを保護するため   情報)または金融システム用   (例:現金自動預け払い機)。として   これらのシステムの複雑さが増すため、   改善された技術の要求を行う   ソフトウェアの生産のため   システムのコンポーネント。これらの高い   整合性システムは   動作が完全に予測可能であり、   に必要なすべてのプロパティを持っています   それら。これは、   に加えて、ソフトウェアの分析   従来のダイナミックの使用   テスト。現在、ありません   主流の高級言語   その言語のすべてのプログラムは   予測可能であることが保証され、   分析可能。したがって、任意の選択のために   実装言語の   方法を制御するために不可欠   言語はアプリケーションによって使用されます。   Ada言語[ARM]は設計されています   特定のメカニズムで   特定の側面の使用を制御する   言語の。さらに、

     
      
  1. Adaプログラムのセマンティクスは、エラーがあっても明確に定義されています   状況。具体的には、効果   プログラムの予測は   少ない言語定義   実装の依存関係または   言語間の相互作用   機能。

  2.   
  3. 言語内の厳密な型指定を使用して、   検証する分析の範囲(およびコスト)   キープロパティ。

  4.   
  5. Ada言語は多くの高等学校で成功裏に使用されています   整合性アプリケーション。この   検証済みのAdaを示しています   コンパイラには必要な品質があります   そのようなアプリケーション向け。

  6.   
  7. 言語の使用を促進するためのガイダンスを提供できます。   ツールの開発を奨励する   さらに検証します。

  8.   
     

したがって、Adaは以下に最適です。   高整合性ソフトウェアの実装   このドキュメントは、   に必要なコントロール   Adaを使用して、プログラムが   予測可能かつ分析可能。

キャリアグレードLinux の要件のいくつかを見ると有益な場合があります。彼らは(名前が示すように!)Linuxの要件を指定していますが、通信機器の高可用性セグメントで使用するために指定しています。

NISTは関連ドキュメントを大量に提供します。その中に飛び込んで作業を熟読できますが、多くのドキュメントがあり、すべてが非常に冗長なため、具体的なドキュメントはありません。
ニーズをより具体的にしたい場合は、少し絞り込むことができるかもしれません...

さらに、カーネギーメロンは、信頼性の開発プロセスに関しては非常に決定的であり、標準を見つけるのに十分簡単ですが、非常に冗長です。

また、特定の産業は多くの場合、国にもよるが独自の基準を持っています。たとえば、クレジットカード業界-PCI-DSS。 EUの銀行業界-バーゼルII;医療-HIPAA(かなり高いレベルですが);米国政府関連のさまざまなNISTドキュメント。など

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top