平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問24
テクノロジ/開発技術ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングの説明はどれか。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問24
- アソースプログラムを解析してプログラム仕様書を作る。
- イソースプログラムを探索して修正箇所や影響度を調べる。
- ウソースプログラムを見直して構造化プログラムに変換する。
- エソースプログラムを分かりやすい表現に書き換える。
正解:ア
解説
リバースエンジニアリングとは,既存のソースプログラムを解析することによって,そのプログラムの仕様(設計情報)を再構築し,プログラム仕様書などのドキュメントを作成する技術です。ソフトウェア保守において,仕様書が失われている,あるいは現状と一致しないソースコードの内容を明らかにするために利用されます。
選択肢ごとの解説
- ア正しい。ソースプログラムを解析してプログラム仕様書を作ることが,リバースエンジニアリングの説明である。
- イ誤り。ソースプログラムを探索して修正箇所や影響度を調べることは,保守における影響分析の説明であり,リバースエンジニアリングそのものの定義とは異なる。
- ウ誤り。ソースプログラムを見直して構造化プログラムに変換することは,リストラクチャリング(構造化保守)の説明であり,リバースエンジニアリングとは異なる。
- エ誤り。ソースプログラムを分かりやすい表現に書き換えることは,リファクタリングやコードの可読性向上の説明であり,リバースエンジニアリングとは異なる。