ソフトウェア・ハードウェア開発における契約文書など、法的な文書ではバグのことを何と記述するか？
瑕疵
バグ 
 ソフトウェア・ハードウェア開発における契約文書など、法的な文書ではバグのことを「瑕疵」（かし）と記述する。原因や責任の所在などが不明なものを特定性の低い表現の「不具合」と呼ぶことがある。また、セキュリティ面に関わる脆弱性や欠陥は「セキュリティホール」などと呼ばれることもあり、バグはこれらの原因のひとつになりうる。
プログラミング 
 可能な限り避けたいものではあるが、プログラムにはバグ (bug) の混入が避けられない。場合によっては仕様にバグがあることもある（もっとひどい場合には標準規格のようなものでもバグがある）。デバッグ (debug) とはバグを取る作業であり、プログラミングの過程に必要なものとして見積りなどでは含めておかなければならない。 Transport_Layer_Security 
 このバグでは、インターネット上の誰もが、脆弱性のあるOpenSSLを利用しているシステムのメモリにアクセスすることが可能となり、サービスプロバイダの認証やデータの暗号化に用いられている秘密鍵、ユーザのアカウントおよびパスワード、実際にやり取りされたデータなどを取得できる。これにより、メッセンジャーサービス、電子メールの盗聴、データの盗難、なりすましなどが可能となる。 ソフトウェア設計 
 ソフトウェア開発工程での要求分析によって、ソフトウェア工学における仕様が確定する。そのソフトウェアがユーザーとの対話を必要とするものか、あるいはユーザー中心設計であれば、ソフトウェア設計にはユーザーエクスペリエンス設計も関わり、絵コンテなども仕様に含まれることになる。完全に自動的に動作するソフトウェア（ユーザインタフェースのないソフトウェア）であれば、ソフトウェア設計は単なるフローチャート作成程度の作業となるかもしれない。また、統一モデリング言語 (UML) などの半形式的手法もある。いずれにしても、ソフトウェア設計工程の成果物としては、何らかのソフトウェア設計文書が生成される。 アメリカ法 
 契約法（contract law）は、州が制定法を制定し、州ごとに判例法が形成されている。各州では、契約法リステイトメントが重要な権威とされており、少なくとも商取引については州によって重大な違いはあまりないとされている。日本のような典型契約という観念はなく、契約は皆等しいものとして把握されている。判例を補完する制定法として特に重要なものに詐欺防止法がある。統一消費者信用法典によって消費者契約は特に保護されている。 日本産業規格 
 「標準」と「規格」は、英語では共に「standard」であるためよく混同される。しかし厳密には、「規格」が文書化された基準（例：「デジュールスタンダード (de jure standard)」など）を指すのに対し、「標準」はより広義で、事実上標準化した基準である「デファクトスタンダード (de facto standard)」をも包含する。例えば、Microsoft Officeはデファクトスタンダードであるため、国際標準とは呼べるが、標準化団体の制定した国際規格ではない。 プログラミング 
 プログラミングの過程で、ソースコードを記述することを特に指してコーディングという。元々は機械語が符号であること、またはアセンブリ言語のニモニックがまるで暗号みたいである（正確には「コード」は暗号の1分類。コード (暗号) を参照）というところからコンピュータプログラムに「コード」という語が使われ、それを書く作業というきわめて限定された意味の語だったが、近年はHTMLを書くという意味にも使われるなど濫用され気味である（なお、デモシーンでは機械語のテクニックを駆使して高効率のプログラムを書く、というような本来の意味に近い意味で使われている）。 ソフトウェア設計 
 ソフトウェア設計者やアーキテクトは、設計上の問題が既存の解決済みの問題と同じであると気づくことがある。よくある問題についての解法のテンプレート（あるいはパターン）をデザインパターンと呼ぶ。過去に評価済みのデザインパターンの利用によって、ソフトウェア開発工程が加速される。 閏秒 
 2012年7月1日のうるう秒では、Linux のカーネルのスレッド関係のバグにより、Java や MySQL など各種プログラムで、高負荷になったり異常な動作をしたりした。これにより、VPSなどの共有系のサーバーが過負荷になった。また、au、mixi、Gawker、StumbleUpon、Yelp、foursquare、LinkedInなど世界中の様々なインターネットサービスで障害が発生した。Linux カーネル 2.6.29 で修正したはずであったが、実際は、それよりも古いカーネルにバグ修正を加えたものではなく、それよりも新しいカーネルに未知のバグが存在しており、問題が発生した。 ソフトウェア設計 
 ソフトウェア設計は、ソフトウェアのための問題解決と計画の工程である。ソフトウェアの目的と仕様が決定した後で、ソフトウェア開発者が設計をしたり、専門の設計者が開発計画を立てる。細かいコンポーネントやアルゴリズムの実装だけではなく、アーキテクチャ的観点での検討も行われる。 プログラミング 
 コンピュータープログラミングとは、ある特定のコンピューティングの結果を得ることを目的として、実行可能なコンピュータープログラムを設計・構築するプロセスのことである。プログラミングが関係するタスクの例としては、アルゴリズムの生成、アルゴリズムの正確さとリソースの消費量のプロファイリング、選択したプログラミング言語でのアルゴリズムの実装（これは一般にコーディングと呼ばれる）などがある。プログラムのソースコードは、コンピューターのCPUで直接実行される機械語ではなく、プログラマーが理解できる1つ以上のプログラミング言語で書かれる。プログラミングの目的は、あるタスク（オペレーティングシステムのように複雑な場合もある）をコンピューター上で自動化する1連の命令を見つけることで、与えられた問題を解決することである。そのため、プログラミングのプロセスには、アプリケーションドメインに関する知識、特定のアルゴリズム、形式論理など、さまざまな主題に関する専門性が要求されることが多い。