Dynamic program analysisとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Dynamic program analysisの意味・解説 

動的プログラム解析

(Dynamic program analysis から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/19 10:26 UTC 版)

動的プログラム解析(どうてきプログラムかいせき、: dynamic program analysis)とは、ソフトウェア解析手法の一種であり、実際のあるいは仮想のプロセッサでプログラムを実行して解析を行うこと。動的解析を効率よく行うために、標的プログラムに十分な量のテストケースを入力し、興味深い動作を起こす。コードカバレッジ等のソフトウェアテスト技法を用いて、起こりうる動作を記述したソースコードの箇所を十分な量見つけ出すことができる。ただし、実行中の一時的な命令の効果を過小評価してしまうことに気をつける必要がある。

テストが不十分だと、ロケット「アリアン5」が初飛行でランタイムエラーにより機体が崩壊した[1]ように、破局的な失敗をするおそれがある。

静的解析と動的解析

静的解析と動的解析は相互に補完する技術である。例えば、プラットフォームやプログラミング言語を問わず、複数のスレッドが実行環境においてどのような順序で動作するかは一般的に非決定論的であり、静的解析では判断できないことが多く、マルチスレッド処理にまつわるバグは見落とすおそれがある。これを動的解析によって補う必要がある。

静的解析と動的解析を組み合わせることで、バグ検出の精度と速度が高まり、競合状態デッドロックリソースリークなど、実行してみないと表面化しない処理を徹底的に解析することができる[2]。 静的解析、動的解析で発見できることは、モデル検査証明系でより効率的に発見できることもある。これらの機能を動的解析の中に組み込んでいる場合もある。

プログラムを実行せずとも、つまり静的解析によって判断できることが多いほうが、プログラムの品質や安全性を担保しやすくなるが、プログラミング言語によって適用可能な解析手法の度合いが変わることもある。静的型付け言語は動的型付け言語よりも静的解析時に多くの情報を提供できる。Javaのように強く型付けされている言語では、型システムを無視した危険な変換を許さないため、型安全性を静的に保証しやすい[3]。一方C/C++のように弱く型付けされている言語では、型システムを無視した危険な変換によってコンパイル時の型チェックをバイパスすることもできてしまい、プログラマが型安全性を容易に破壊することもできるため、型安全性に関しても静的解析と動的解析を併用する必要がある。JavaScriptに対するTypeScriptのように、静的解析を促進して安全性を強化し、大規模開発にも耐えうるものにするために、動的言語に対して静的型チェック機構を導入した事例も存在する[4]

動的解析ツール

  • Avalanche
  • BoundsChecker: 現在[いつ?]はDevPartnerの一部。
  • ClearSQL PL/SQL.
  • CodeDynamics[5]
  • Daikon (system)
  • Dmalloc
  • DynInst
  • HP Security Suite
  • IBM Rational AppScan
  • Intel Thread Checker
  • Intel Parallel Inspector
  • MemoryScape[6]
  • Parasoft Insure++
  • Parasoft Jtest
  • Purify
  • TotalView[7]
  • Valgrind
  • VB Watch

脚注

関連項目


「Dynamic program analysis」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Dynamic program analysis」の関連用語

Dynamic program analysisのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Dynamic program analysisのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの動的プログラム解析 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS