リバースエンジニアリングとは、既存のソフトウェアに対し、動作解析をするなどして製品の構造を分析し、そこから製造方法・動作原理・設計図・ソースコードなどの仕様を導き出す技術のことです。
リバースエンジニアリングとは?
リバースエンジニアリングとは?
先生、「リバースエンジニア」って何ですか?
製品の構造を分析し、製造方法や構成部品、動作やソースコードなどの技術情報を調査し明らかにすることです。
なるほど。他社の製品を分解したら、著作権法などの違法行為に当たらないのですか?
リバースエンジニアリング自体は違法ではありません。著作権法では、研究・開発目的であれば合法です。特許法でも、分解・解析するだけであれば合法になります。
但し、他者が権利をもつソースコードなどを無断で複製・抽出すると著作権法に抵触するおそれがあります。また、リバースエンジニアリングで得た知識や情報を活用し、特許物の製造や販売、展示、輸入、輸出などは禁止されています。
違法性がないこと分かりました。リバースエンジニアリングは正しく活用すれば、製造業界やIT業界で活かせそうですね。
リバースエンジニアリングのメリット
リバースエンジニアリングを利用することでの主なメリットは、開発期間の短縮やコスト削減などが挙げられます。製品開発では、失敗と成功を何度も繰り返して製品を完成させます。そのため、一般的に長い開発期間とコストがかかります。リバースエンジニアリングを利用することで、既存技術の発想を参考にすることで、一から新規開発するより、比較的短い期間で、かつ、低コストで新製品を開発することができます。
IT業界でのリバースエンジニアリングの活用例(設計書作成ツール)
IT業界のリバースエンジニアリング利用される例として、既存システムのソースコードを解析し、設計ドキュメントを作成する手法があります。
長期にわたって運用されているシステムでは、人手のかかる設計書整備の不備・不足になっている場合があります。設計書の整備がされないことで、保守開発が困難になったり、有識者依存の業務が発生しています。
また、システム更改を行う場合に、仕様が不明確で問題化するケースもあります。システムを正しく理解するために設計書の不備・不足を解消するために、既存システムのソースコードを解析する必要があり、調査するには多大なコストと時間がかかります。
IT業界でよく用いられるリバースエンジニアリングツール(設計書作成ツール)は、ソースコードを自動解析し、設計書を自動で再生するツールになります。これにより、短期間かつ、低コストで既存の設計書を作成することができます。そのため、長期運用されているシステムの保守開発で用いられています。
リバースエンジニアリングに関する問題(令和5年問39)
運用中のソフトウェアの仕様書がないので,ソースコードを解析してプログラムの仕様書を作成した。この手法を何というか。
ア. コードレビュー イ. デザインレビュー ウ. リバースエンジニアリング エ. リファクタリング
出典:令和5年度 ITパスポート試験公開問題 問39
正しいと思う選択肢をクリックしてみてください!!!(解答・解説を記載しています。)
ア. コードレビュー
不正解です。
イ. デザインレビュー
不正解です。
ウ. リバースエンジニアリング
正解です。
エ. リファクタリング
不正解です。
コメント