IPA過去問ドリル

平成24年度 春期 基本情報技術者試験 午前 問50

テクノロジ/開発技術

ソフトウェアのリバースエンジニアリングの説明はどれか。

出典:平成24年度 春期 基本情報技術者試験 午前 問50

正解:ウ

解説

リバースエンジニアリングとは,既存のソフトウェア(ソースコードや実行ファイル)を解析することで,そのソフトウェアの仕様や内部構造を明らかにする手法です。ドキュメントが失われた既存システムの仕様を把握したり,改修の前提となる情報を得たりする際に用いられます。

選択肢ごとの解説

  • 誤り。設計情報からソースコードを自動生成するのは,フォワードエンジニアリング(順方向の開発)の考え方であり,リバースエンジニアリングとは逆の方向です。
  • 誤り。外部からの振る舞いを変えずに内部構造だけを改善するのはリファクタリングの説明です。
  • 正しい。既存のソフトウェアを解析して仕様や構造を明らかにすることが,リバースエンジニアリングの定義です。
  • 誤り。既存システムを分析した上で全体を新しく作り直すのはリエンジニアリング(再構築)の説明であり,解析だけを行うリバースエンジニアリングとは異なります。
基本情報技術者の過去問を演習モードで解く