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

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

105コメント 登録日時:2015-02-11 19:38 | ギズモード・ジャパンキャッシュ

ほぼドンピシャでバレバレです。 スペースやタブ、大文字やアンダーバーを組み合わせた命名規則、コメント…コードの書き方には、人によってスタイルがありますよね。それはもう指紋のようなもので、それさえ見えれば、誰がコードを書いたかほとんどわかってしまう…そんな驚きの研究結果が発表されました。 米ドレクセル大学、メリーランド大学、プリンストン大学、独ゲッティンゲン大学の共同チームの研究によると、自然言...

Twitterのコメント(105)

@stdaux ソースコードにDNAは無いですが、書かれたソースコードで特定することは可能なようです
a,b,c,d,e,... みたいな変数を作りつつもプログラムを走らせることができる友人は数行見ればわかる
某漫画で「コードから童貞臭がする」という表現があったが、あながち間違いじゃないのかもなぁ
機械学習を使えばソースコードから作者はほぼ特定できるらしい?
書いた時期によって、同じ人でも書き方が違うくらいだからなぁ ───  ソースコードは指紋、作者はほぼ特定できる|ギズモード・ジャパン
ほへー95%でプログラマ当てれるとかそんなにコードに違いでるんか
GCJで提出されたソースコードがデータとして利用されている。「競技プログラミングは(ある意味で)役に立つ」の例だ
去年の記事だけどおもしろい。
ソースコードは指紋、作者はほぼ特定できる|ギズモード・ジャパン
王様たちのヴァイキングのCODE RADERだ
興味深いなああ
標準規約とか、オールインワンの開発環境がばら蒔かれたら、どうするんだろう( ´△`)
なるほど。これで犯人探しが捗りますね。 /
あーわかるw /
お習字を始めよう✋
【精度95%以上!ソースコードは指紋、作者はほぼ特定できる】  難読化しない限りは、多分クセ出るよねぇ。自慢じゃ無いですが私のソースなんか超汚いんで、すぐ分かると思います。
OJT一ヶ月目位で既に「ソースコードに癖が出てきましたね。他の人の良いいコードを読んで読みやすく保守性の高いコードを勉強しましょう」って言われた俺氏が通りますよっと
三( ゜∀゜)
"@gizmodojapan:
組織によっては、記法やプレフィックス、インデントや{}の位置まで決まっているから特定は難しい気がしますが‥本当かな
"@gizmodojapan:
ほぼドンピシャでバレバレです。 "
作業跡
ああ、抽象構文木に特徴が出るのか、面白いなコレ
ほほぅ…。><
これすごいな....
@gizmodojapan Golangとかはインデントとか強制する部分が多いから、C言語ほどではないよなぁ。気持ち悪いソースってあるんだよね
自然言語処理と機械学習によるコード分析により、95%の精度で作者は特定できる
-
難読化だけでなく、コードの匿名化技術も必要か?
そう言われるとそんな気もしてきたw /
マジでか / 精度95%以上
ソースコードの怖いところは、その人の人生や生き方さえ透けて見えるところ >
確かに、コードの書き方って性格でるなとは思っていました。
ソースじゃなくてエクセルの資料とかでも結構わかるよね。
めっちゃ分かりやすい人いそう
ハッカーがソース出すとでも思ってるの? /
確かに自分の書いたコードは見たらすぐ分かる。ただ、命名はその時の流行りで変わったりするけど。▼
わかる気がする…▽
これはよく分かるわ。私のコードなんかすぐ特定されるんだろうなぁ:
つまり、あっちこっちからサンプルコードをコピペしたスパゲティだと特定できないわけですね?//
どうやってソースコード手に入れるのさ。実行可能プログラムからコメントやインデント割り出せないだろ。
他人のReSharper調教済ファイルがあれば・・
同じチーム内とかだとどうなんだろう|
これで捕まる人とか仮に出たら、コードの意味を変えずに癖だけをごまかすようなツールとかで対応されそう。/
コメントの入れ方とかは特徴出るね。
人間の知能が及ばない因果を人工知能が解きほぐす。 / 他77コメント
ふむふむ。/
まぁ、私のコードはCreated by書いてあるから余裕で特定できるよ。 /
プロジェクトの初期と末期で文法が違うのはこういうことから自分を守るためだから(震え声)
コピペ・糞コードを書いたらバレてしまうのか・・。:
たしかに同じ課題でも、人によって書き方違うから見せてもらっても参考にならなかったりするし…なるほど
これ、逆に言えば良いコードを書くと言われる人の特性を数値化できるってことだよね。それが欲しい。
照合するデータがなければ意味なくない??指紋だって、照合する指紋がなければ意味がないんだけどね。
書き方に多様性がある言語だと感覚的に分かるので、それぐらいの精度はあるかも。RubyとかScalaとかすぐバレそう。 /
社内でも誰が書いたコードかソースみれば特定出来る ■
おそろしやー( ´△`)(笑)
プログラミングでコピペが通用しない時代がやってくるかも?
うひょー。性格でますものね。
コピペできるものに本人特定なんて戯言を、複数で分担して書いてたらどうなるの
やめてくれw
実は論文もピュアレビューって言っても、著者はバレる。作文も。まぁデータのレベルにして情報に吸い上げる時点でバレるんだね。
ソーステキストはめちゃめちゃ癖あるよなw でも、時期で癖が変わることもしばしば。(タブ、改行位置、飾り文字など
これはあるあるやなぁ…
そんな気はしていた
これの前提は「完全にテキストエディタで書いてる限り」であって、VisualStudio等のIDEで書く場合には特定精度が落ちるような気が。→ ギズモード|
スターソルジャープログラマーの人がこれできるってハドソン秘密攻略法に書いてあった。
???「このコードを書いたのは誰だぁッ!!」
以前から、プログラムって人を表すなと思ってたが、やはりそうか。
すげーな……
たしかにソースには、個性が出るのは知ってるけど、
まさかここまでとは……
まあ文章とかも人によって色出るしな / 他33コメント
ま、そうだろね笑 / 他32コメント
そんなこと無いと思うのですが、、、
日によって書き方が変わる気まぐれな人でも、特定できるんだろうか。 /
ゆうちゃんのコードをこれやったらどういう結論が出るか気になる /
ASTの説明が雑いw プログラムの構造とかに言い換えた方がいいような /
キャー(棒
よし、僕の helloworld.c を解析してくれ。 /
: ギズモード・ジャパン: サイエンス , テクノロジー , 大学研究モノ 精度95%以上! ソースコードは指紋、作者はほぼ特定できる 2015.02.11… [ml]
難読化とかコンパイル後の状態で解析できないと、まぁ実用性は無いよなぁ・・・。
隠す必要があるならちゃんと strip しろという教訓ですね/
関数の名前、コメント、スペースの入れ方についてグループ内で規則を作ってそれを厳密に守っても特定できるのかな。 /
経験上「常識」やと思うが。むしろ「えっ100%じゃないの?!」と驚く。(まあ「文体模写」もできるか)
どんな言語や開発環境でもいけるのかしら...ゆうちゃんの時にこれがあれば /
おもしろい。こだわりがある人ほど一律にそのルールを守るだろうし。逆にコピペで済ます人には無効か?>
自分の作った処理をコメント含めて丸ごとコピーして余計なバグ追加してコミットした人が居たんだけど、そういう冤罪もはらせるのかなw / -
コーディング規約で縛られたコードでも判別できるのかな?ASTも使うからいけるのか? /
コピペしまくれば誰のコードかバレないぜwww /
ぴたっとな
ほへぇー. / 他3コメント
日本では糞コード書いた犯人探しが始まる… -
学習用データが難しいな。/
おおʕ•̫͡•ʔ
: ギズモード・ジャパン:  「おい!アイツを呼んでこい!」が増加する悪寒。
自分でクセあるの分かってたけどそんな精度でわかるもんなんだな
以上

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

関連記事