正解は ウ
リバースエンジニアリングとは、完成品から設計図を作り出す「逆向き設計」のことです。ソフトウェアの場合、実際に動作しているプログラムやソースコードを解析して、その仕様や設計を後から理解・文書化する作業を指します。これは、古いシステムの保守や更新が必要な場合や、仕様書が失われた場合に特に重要な手法となります。問題文の状況は、まさにソースコードから仕様書を作成する逆向きの作業であり、リバースエンジニアリングそのものを表しています。
ソフトウェア開発に関する用語は、その言葉の意味する「方向性」を意識すると覚えやすくなります。リバース(reverse)は「逆向き」、エンジニアリングは「設計・開発」を意味します。つまり、通常の開発工程(設計→実装)の逆を行う作業だと理解しましょう。