リバースエンジニアリング
リバースエンジニアリング(Reverse engineeringから。直訳すれば逆行工学という意味)とは、機械を分解したり、製品の動作を観察したり、ソフトウェアの動作を解析するなどして、製品の構造を分析し、そこから製造方法や動作原理、設計図などの仕様やソースコードなどを調査することを指す。
一般的に工業製品の多くは、設計図や仕様書の概略程度しか公表されておらず、詳細な動作の原理などは公表されていない。
また、コンピュータ・プログラムのソースコードも、近年優勢なオープンソース製品では公開されており、広く検証されているものも多いが、プロプライエタリ商品の場合は一部を除き非公開のため、情報セキュリティ上の危険が(仮に)存在していても秘密扱いの場合がほとんどである。そのため、様々な技術や創意工夫が用いられているこれら工業製品についての技術的情報に関しては、公開された文献から入手できない場合が大半であり、時には危険が存在しても「秘密として法的に保護」されていることすらある(各種製造物責任法などにより対抗手段もないでもないが)。
また仮に自社開発した製品であっても、それが古い製品の場合、当時の技術者がすでに退職・死亡してしまっていたり、設計図や仕様書の所在が不明になったり、あるいはそもそも最初から作成されていなかったなどの事情により、十分な情報を得ることが不可能な場合がある。
こういった事情とも絡んで、非公開情報を入手するために、ひいては、より優れた製品の開発のためにも従来の工業製品やソフトウェア製品をリバースエンジニアリングすることによって使用されている技術を分析、調査、確認することは、現場での製品開発において欠かせないプロセスの一つともなっている。
[参考:Wikipedia]