本研究は、スーパーマリオシリーズの4つのクラシックゲーム(スーパーマリオブラザーズ1、3、ワールド、64)に存在する237件のグリッチを分析したものである。
まず、Seven Pernicious Kingdoms (7PK)ソフトウェア欠陥分類法とCommon Weakness Enumeration (CWE)を用いて、それらのグリッチを弱点の種類別に分類した。その結果、現在の分類法では捉えきれていない7つの新しい弱点を特定した。
具体的には以下のような結果が得られた:
全体の45%のグリッチが7PK4: Time and Stateに分類された。主な弱点は不完全なクリーンアップ(CWE-459)や時間検査-時間使用の競合状態(CWE-367)などであった。
19%のグリッチが7PK5: Errorsに分類された。主な弱点は例外処理の不適切な確認や処理(CWE-703)、予期せぬが正しい挙動、不適切な状態修正などであった。
18%のグリッチが7PK1: Input Validation and Representationに分類された。整数オーバーフローやバッファオーバーフローなどの基本的なプログラミングエラーが多かった。
新たに7つの弱点カテゴリーを定義した。エンティティ数の制限、条件の再確認の失敗、状態の早期終了、正しいが意外な挙動、不適切な状態修正、挙動の不適切な共有、境界定義の不良などである。
これらの結果から、ゲームのグリッチにはソフトウェア工学の一般的な弱点と共通するものもあれば、ゲーム特有の弱点もあることが明らかになった。ゲームのグリッチを分析することで、ソフトウェア全般の弱点理解を深められる可能性が示唆された。
Vers une autre langue
à partir du contenu source
arxiv.org
Questions plus approfondies