基本情報技術者試験 過去問解説
リバースエンジニアリングとは?基本情報技術者試験 平成29年度 秋期 午前 問50を解説
基本情報技術者試験 平成29年度 秋期 午前 問50は、リバースエンジニアリングに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
ソフトウェアのリバースエンジニアリングの説明はどれか。
この問題の出題ポイント
- リバースエンジニアリングの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- 関連タグ: 開発プロセス。
選択肢
- ア開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。
- イ外部から見たときの振る舞いを変えずに,ソフトウェアの内部構造を変える。
- ウ既存のソフトウェアを解析し,その仕様や構造を明らかにする。正解
- エ既存のソフトウェアを分析し理解した上で,ソフトウェア全体を新しく構築し直す。
正解
ウ: 既存のソフトウェアを解析し,その仕様や構造を明らかにする。
解説
リバースエンジニアリングは既存ソフトウェアを解析して仕様/設計情報を取り出す活動で、保守やドキュメント補完、互換実装などに利用されます。
なぜ他の選択肢が違うのか
ア
設計→コード自動生成はフォワードエンジニアリング。
イ
振る舞い不変+内部変更はリファクタリング。
ウ(正解)
既存解析→仕様/構造化=リバースエンジニアリングの定義。
エ
解析+再構築はリエンジニアリング。
解き方の整理
リバースエンジニアリングの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。