基本情報技術者試験 - 令和7年6月修了 - 問38
ソフトウェアのリバースエンジニアリングの説明はどれか。
| ア | 開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。 |
|---|---|
| イ | 外部から見たときの振る舞いを変えずに,ソフトウェアの内部構造を変える。 |
| ウ | 既存のソフトウェアを解析し,その仕様や構造を明らかにする。 |
| エ | 既存のソフトウェアを分析し理解した上で,ソフトウェア全体を新しく構築し直す。 |
答え : ウ
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
解説 :
「リバースエンジニアリング」(reverse engineering)とは,既存のソフトウェアを解析し,その内部構造や仕様を明らかにする技術・手法のことです。ソースコードや設計書が失われている場合などに,実行可能なプログラムを解析して元の設計や仕様を復元する目的で用いられることがあります。正解は「ウ」です。
「ア」は設計情報からソースコードを自動生成する内容であり,これは「フォワードエンジニアリング」に近い考え方です。「イ」は外部から見た振る舞いを変えずに内部構造を改善するという内容であり,これは「リファクタリング」の説明です。「エ」は既存のソフトウェアを分析した上でソフトウェア全体を新たに構築し直すという内容であり,これは「リエンジニアリング」(再構築)に該当する説明です。似た用語が多いため,それぞれの目的の違いを整理して覚えておくことが大切です。
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
解説 :
「リバースエンジニアリング」(reverse engineering)とは,既存のソフトウェアを解析し,その内部構造や仕様を明らかにする技術・手法のことです。ソースコードや設計書が失われている場合などに,実行可能なプログラムを解析して元の設計や仕様を復元する目的で用いられることがあります。正解は「ウ」です。
「ア」は設計情報からソースコードを自動生成する内容であり,これは「フォワードエンジニアリング」に近い考え方です。「イ」は外部から見た振る舞いを変えずに内部構造を改善するという内容であり,これは「リファクタリング」の説明です。「エ」は既存のソフトウェアを分析した上でソフトウェア全体を新たに構築し直すという内容であり,これは「リエンジニアリング」(再構築)に該当する説明です。似た用語が多いため,それぞれの目的の違いを整理して覚えておくことが大切です。