基本情報技術者試験 過去問解説

リバースエンジニアリングとは?基本情報技術者試験 平成29年度 秋期 午前 問50を解説

基本情報技術者試験 平成29年度 秋期 午前 問50は、リバースエンジニアリングに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

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

この問題の出題ポイント

  • リバースエンジニアリングの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: 開発プロセス。

選択肢

  1. 開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。
  2. 外部から見たときの振る舞いを変えずに,ソフトウェアの内部構造を変える。
  3. 既存のソフトウェアを解析し,その仕様や構造を明らかにする。正解
  4. 既存のソフトウェアを分析し理解した上で,ソフトウェア全体を新しく構築し直す。

正解

: 既存のソフトウェアを解析し,その仕様や構造を明らかにする。

解説

リバースエンジニアリングは既存ソフトウェアを解析して仕様/設計情報を取り出す活動で、保守やドキュメント補完、互換実装などに利用されます。

なぜ他の選択肢が違うのか

  • 設計→コード自動生成はフォワードエンジニアリング。

  • 振る舞い不変+内部変更はリファクタリング。

  • ウ(正解)

    既存解析→仕様/構造化=リバースエンジニアリングの定義。

  • 解析+再構築はリエンジニアリング。

解き方の整理

リバースエンジニアリングの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。