文法誤り訂正手法の転用によるデコンパイラの歪み修正手法の提案

抄録

バイトコードからソースコードを復元するための手法としてデコンパイラが数多く提案されている.デコンパイラはプログラムの解析を目的として広く利用されている.しかし,コンパイル時に変数名など一部の情報が失われるため,完全な復元は難しく元のソースコードとの差異,すなわち歪みが発生してしまう.この歪みはソースコードの可読性の低下のみならず,プログラムの振る舞いの変化にもつながる可能性がある.また,デコンパイラの種類によって異なる歪みが発生する.そこで本研究では,自然言語処理の分野で用いられる文法誤り訂正を転用したデコンパイラの歪み修正手法を提案する.文法誤り訂正の中でも特に深層学習ベースの手法を用いることで,プログラミング言語やデコンパイラの種類によらずソースコード復元における歪み修正が可能となる.実験では,識別子歪みと構造的歪みの 2 種類の歪みに関して,提案手法でそれぞれどの程度修正が可能かを検証した.その結果,識別子歪みでは約 55%,構造的歪みでは約91% を修正できることを確認した.

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ