BLOGTIMES
2015/02/12

ソースコードから作者を特定する研究

  softwareengineering  paper 
このエントリーをはてなブックマークに追加

実はプログラミングの課題程度であればサイクロマチック数やCKメトリクスなどの簡単なメトリクスと、変数やメソッドの名前程度を抽出して比較すると課題のコピペが判定できるというのは経験則で分かっていました。AST などを用いるともっと精度が上がったりするのかなとちょっと思ったりしたこともあったのですが、実際にやってみると驚異的な結果を生み出すようですね。これは面白そうなので、ちょっと読んでみようと思います。

精度95%以上! ソースコードは指紋、作者はほぼ特定できる : ギズモード・ジャパン

解析されるのは、レイアウトや語彙の特性と、「抽象構文木(AST)」です。ASTとは、「コードの書き方からまったく影響を受けずに、コードの型の特性をとらえる」もので、つまり、関数の名前、コメント、スペース入れ方などのクセ以上のものを探し出し、作者を特定するカギにする、というわけです。
研究チームが開発した機械学習ソフトウェアで、Google Code Jamに公開されているコードの分析を試しに行ってみたところ、あるひとりの人が書いた630行のコードを分析すれば、95%の精度でその作者が特定できたそうです。

オリジナルはAylin Caliskan-Islam氏の以下の論文のようです。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7388
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン