既存のプログラムを,外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として,最も適切なものはどれか。

出典令和3年度 ITパスポート試験 公開問題 問48
テスト駆動開発
ペアプログラミング
リバースエンジニアリング
リファクタリング