平成29年 秋期 基本情報技術者 午前 問50

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

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


答え ウ


解説

 ア  開発支援(CASE)ツールなどによるソースコードの自動生成には特別な呼び方はありません。
 イ  リファクタリング(refactoring)の説明です。
 ウ  リバースエンジニアリングの説明です。
 エ  ソフトウェアのリエンジニアリング(re-engineering)の説明です。


キーワード
・リバースエンジニアリング

キーワードの解説
  • リバースエンジニアリング(reverse engineering)
    ソフトウェアやハードウェアを分解したり解析したりして、その仕組み、仕様、要素技術などを明らかにすることです。
    企業がライバル会社の製品に対して行うことが多いが、自社の製品で仕様書と製品の動作が異なっているときに、製品の動作から仕様書を修正する場合もある。
    他社製品に対しリバースエンジニアリングするときには、特許などの知的財産権に注意を払う必要がある。

もっと、「リバースエンジニアリング」について調べてみよう。

戻る 一覧へ 次へ