【社会】 ソースコードは指紋… レイアウト、語彙、構文の特性で作者はほぼ特定できる、その精度95%以上! [gizmodo] [転載禁止]©2ch.net

このエントリーをはてなブックマークに追加
1@Sunset Shimmer ★
2015.02.11 19:00

ほぼドンピシャでバレバレです。

スペースやタブ、大文字やアンダーバーを組み合わせた命名規則、コメント…コードの書き方には、人によってスタイルがありますよね。
それはもう指紋のようなもので、それさえ見えれば、誰がコードを書いたかほとんどわかってしまう…そんな驚きの研究結果が発表されました。

米ドレクセル大学、メリーランド大学、プリンストン大学、独ゲッティンゲン大学の共同チームの研究によると、自然言語処理と機械学習によるコード分析により、95%の精度で作者は特定できるそうです。

解析されるのは、レイアウトや語彙の特性と、「抽象構文木(AST)」です。ASTとは、「コードの書き方からまったく影響を受けずに、コードの型の特性をとらえる」もので、
つまり、関数の名前、コメント、スペース入れ方などのクセ以上のものを探し出し、作者を特定するカギにする、というわけです。

研究チームが開発した機械学習ソフトウェアで、Google Code Jamに公開されているコードの分析を試しに行ってみたところ、
あるひとりの人が書いた630行のコードを分析すれば、95%の精度でその作者が特定できたそうです。コードの行数を増やして1,900行にすると、特定の精度は97%になるとか!

このコード解析、すぐに使えそうな分野が思い浮かびますよね。そう、当局がハッカーを見つけたり、オンライン詐欺の犯人を特定したり、という使い方です。
あと、他人のコードをちょっと拝借、なんていうケースもバレちゃったりするんでしょうか。「特定されたら困る!」という人は、今から誰かのコードの書き方をそっくりマネする練習を始めた方がいいかもしれない…ですかね?

image by Olly/Shutterstock
source: Drexel via IT World

Jamie Condliffe - Gizmodo US[原文]
http://gizmodo.com/your-coding-style-is-like-a-digital-fingerprint-1682499073
(conejo)

(記事の続きや関連情報はリンク先で)
引用元:Gizmodo http://www.gizmodo.jp/2015/02/your-coding-style-is-like-a-digital-fingerprint.html
2名無しさん@1周年:2015/02/11(水) 23:22:58.63 ID:9ZkybCBS0
ああ、これは解る気がする
各自の命名規則とかあるしね
3名無しさん@1周年:2015/02/11(水) 23:23:15.90 ID:s6ksbJ5+0
やめたまえ
4名無しさん@1周年:2015/02/11(水) 23:23:19.74 ID:r/JkQXr30
気にせずどんどん
ブサヨを批判しろということですね
5名無しさん@1周年:2015/02/11(水) 23:23:39.87 ID:oTM12FvY0
引き継いだコードが最悪、なんてのは良くある話さ
6名無しさん@1周年:2015/02/11(水) 23:26:28.47 ID:sT+9lmwe0
デコンパイルされて、きたないコードがさらしあげされるのか?
7名無しさん@1周年:2015/02/11(水) 23:27:12.31 ID:oOwGMM2T0
ソースコードばら撒くハッカーがいるわけないだろ
8名無しさん@1周年:2015/02/11(水) 23:27:42.44 ID:A6V3y0AI0
過去のソース見てみたら、今とは似ても似つかない書き方してたんだけどw
9 【関電 70.3 %】 :2015/02/11(水) 23:28:11.72 ID:cqKUpm9q0
ツギハギだらけだから、意味ないだろう
10名無しさん@1周年:2015/02/11(水) 23:29:43.98 ID:zBqvRFra0
10 print "朝鮮人は出ていけ!”
20 goto 10
30 end
11名無しさん@1周年:2015/02/11(水) 23:30:59.77 ID:PpgDsui90
>>10
三行目要るの?
12名無しさん@1周年:2015/02/11(水) 23:31:27.68 ID:5g1WmVUe0
>>8
お前が成長したってことさ。
言わせんな恥ずかしい//
13名無しさん@1周年:2015/02/11(水) 23:32:24.15 ID:lqgweIM40
海外ってコーディング規約って概念ないの?
関数の名前、コメント、スペース入れ方なんぞ漏れなく定義されてるが・・・?
14名無しさん@1周年:2015/02/11(水) 23:33:02.23 ID:zBqvRFra0
>>11
実際には要らないが2行だと寂しいから追加したwwww
15名無しさん@1周年:2015/02/11(水) 23:33:06.30 ID:CKeIcq9Y0
つまり、ソースコードはDNAコードと一緒だということか
16名無しさん@1周年:2015/02/11(水) 23:33:57.61 ID:SEnmkkyt0
ループ変数が i と j で、GOTO文を使ったものなら、古代魔法認定
17名無しさん@1周年:2015/02/11(水) 23:35:16.20 ID:9478lERO0
うちの会社では、ソースに製作者名を入れないといけないことになってるwww

もちろん修正加えた人間もなw

アホらしw
18名無しさん@1周年:2015/02/11(水) 23:35:22.86 ID:AGnDHTIS0
>>16
jmp使えよ
なんでもありだ
19名無しさん@1周年:2015/02/11(水) 23:36:56.38 ID:raPaxpkV0
コピペ改変だらけの俺のコードはどうなるんだ?
20名無しさん@1周年:2015/02/11(水) 23:37:41.83 ID:/9OBS31g0
強度のアスペなやつが書くコードは変数多すぎて常人には訳わかんねえw
21名無しさん@1周年:2015/02/11(水) 23:37:56.43 ID:ezPfkQ710
ソースコードなんて流用部がいっぱいあるし
ひとりでプログラム完成させるなんて商用アプリじゃ考えられないし
肝心の特定したい人のソースの癖情報がなければこのプログラムの
そことここが同一人物が書いたと思われる程度にしかならない。
それにまっとうなアプリなら最初にコメントとかで作成者とか入れてるだろ
ハッカーにしても大体ソースコードをどうやって手にいれるのか。
こんな研究で飯が食える学者も記者も羨ましいわ飲み会でのうんちく程度にしか使えん話だ
22名無しさん@1周年:2015/02/11(水) 23:38:10.99 ID:xwOJCRBA0
ネカマ判定ができんのももうすぐか?
23名無しさん@1周年:2015/02/11(水) 23:39:02.42 ID:+WNBIr3R0
俺のコードが小保方以上のコピペ率なのがバレてしまふ((((;゚Д゚))))ガクガクブルブル
24名無しさん@1周年:2015/02/11(水) 23:41:26.81 ID:31/cIhFW0
ふむ。
まわしコードは、自分でも直ぐ判るわ(。・ω・。)y━・~~
a=(b=(c=(obj=OBJ).prp1).prp2)?c.prp3:...; とにかく、三項演算と戻り値カウンター大好きHAHAHA
25名無しさん@1周年:2015/02/11(水) 23:42:10.30 ID:MM71do1Y0
>>13
なんでおまえはドカタ作業に限定してるの?
26名無しさん@1周年:2015/02/11(水) 23:42:11.63 ID:285sfwOg0
開発標準に則ってコード書いていても、10kステップくらい書いたら俺ってばれそうだ・・・
特徴あるってわかっていても、ゆずれねぇw
27名無しさん@1周年:2015/02/11(水) 23:43:05.47 ID:WNp8qbz40
>>10
Syntax error
28名無しさん@1周年:2015/02/11(水) 23:43:14.36 ID:KVThsl2H0
# hello world 2015/02/11 23:40 [email protected]

hello = "Hello";
space = " ";
world = "world";
suffix = "!\";
printf(
    "%s%s%s%s",
    hello,
    space,
    world,
    suffix,
);
29名無しさん@1周年:2015/02/11(水) 23:44:21.93 ID:SEnmkkyt0
>>10
print表示のあと改行する気が無いのかは知らないけど、
行番号が全角だし、10行目のprint文の片方の括弧が半角の「"」じゃないし、30行目は意味が無いし
いったい何匹在日バグを飼うつもりだよw
30名無しさん@1周年:2015/02/11(水) 23:45:59.77 ID:81i72+eN0
十年前俺が書いたプログラムがコピペされ、
全然違う会社で変わり果てた姿ながら俺の記名入りで発見した奇跡。
31名無しさん@1周年:2015/02/11(水) 23:46:18.78 ID:v75TkQyX0
>>27
エラー行番号ぐらい出なかったか?
32名無しさん@1周年:2015/02/11(水) 23:47:30.86 ID:xgYh0Eo10
こんなもん逆手にいくらでも取れるから今まで一回もばれたことないわ
33名無しさん@1周年:2015/02/11(水) 23:50:32.87 ID:WNp8qbz40
>>31
出ないよ
「N88BASIC syntax」でぐぐって画像見てみればいい
行番号を調べるには
TRONさせて実行させている行番号表示させながらエラーで止まるのを待って確認していたような・・・w
34名無しさん@1周年:2015/02/11(水) 23:50:43.50 ID:scC4M6wc0
規模が大きくなればなる程命名規則に縛られるから解析が出来なくはないだろうな
サンプルがあれば個人もそりゃ特定できるでしょう
35名無しさん@1周年:2015/02/11(水) 23:50:55.41 ID:EsIJMszn0
必死で否定するお前ら
36名無しさん@1周年:2015/02/11(水) 23:51:18.88 ID:hJVXRDsG0
ソースなんてコピペみたいなもんでネットで調べて参考にしたり全部自分で打ってないだろ
そんなんで指紋になるか
37名無しさん@1周年:2015/02/11(水) 23:51:34.10 ID:2SszulJ+0
変数に昔好きだった女の子の名前を付けるのは止めよう
38名無しさん@1周年:2015/02/11(水) 23:51:44.74 ID:MnjSZ08t0
>>10
一行で終わるだろう
39名無しさん@1周年:2015/02/11(水) 23:53:09.45 ID:zBqvRFra0
>>29
お前文法知らないなwwww
改行しないなら;を付けるだろwwww
いかにも何も知らない人間らしいいちゃもんの付け方だなwww
全角がどうとか言ってるアホも一緒だwwww
俺はアセンブラからBASIC(10種以上)C、C++、PASCAL、など数十種の言語を使ってきた
プロでお前らトーシローにとやかく言われるレベルの人間じゃねえんだよwwwww
40名無しさん@1周年:2015/02/11(水) 23:53:45.24 ID:SEnmkkyt0
プログラムのコードを断片化して、全部プリプロセッサで文字定義しておいて
「行頭にコメント文字の無い英文コメント!?」かと思ったら
それがプログラム本体ってのがあったな。
41名無しさん@1周年:2015/02/11(水) 23:55:14.10 ID:QbkV+mzY0
だろうな
拝借するときも自分用に変換しちゃう
混在してたら流用バレバレだ
42名無しさん@1周年:2015/02/11(水) 23:55:20.63 ID:col0A3DM0
kouza_syubetu VS koza subetsu

しょうもなw
43名無しさん@1周年:2015/02/11(水) 23:55:58.85 ID:+6BHwtGl0
アンダーバーねえ
44名無しさん@1周年:2015/02/11(水) 23:59:00.87 ID:0sHmr3OL0
サブバージョンとかでバカなdiffを組み込んで履歴管理してると、酷いコードでも修正行を最小限に抑えるためにそのままにしなきゃならん
45名無しさん@1周年 転載ダメ©2ch.net:2015/02/12(木) 00:00:16.86 ID:4w8h7ue40
ネットからパクってきたコードで仕事終わらせてる奴は給料下がりそうだな
46名無しさん@1周年:2015/02/12(木) 00:05:15.51 ID:I7nty5DH0
>>33
synatax error in 行番号ってイメージだった。
何か記憶違いしてるぽい
47名無しさん@1周年:2015/02/12(木) 00:05:51.96 ID:C4q8J8hz0
/*/
〜〜〜
〜〜〜
/*/

前にCでこんな感じのコメントを書いてる人がいて
色付けしてるからコメント部は判るんだけど
感覚的に判りづらいなって思った
48名無しさん@1周年:2015/02/12(木) 00:08:02.71 ID:fnIFcRxo0
コードを書くって作文みたいなものなんだ
49名無しさん@1周年:2015/02/12(木) 00:10:45.14 ID:oR7pRjda0
>>37
会社に3台あったサーバーに人名っぽいのがついていたのでググってみたら、
炉利系エロゲがひっかかった時の衝撃と言ったら。
50名無しさん@1周年:2015/02/12(木) 00:12:30.73 ID:hfPRdJVG0
>>1に用途が書いてあるのに
IT土方の話はじめるアスペばっかでワロタ
51名無しさん@1周年:2015/02/12(木) 00:13:18.83 ID:aDHvLBRj0
>630行のコードを分析すれば、95%の精度でその作者が特定できた

俺レベルの天才は全てのコードが20行未満に収まるから無問題
52名無しさん@1周年:2015/02/12(木) 00:14:26.35 ID:6Z1EFdiQ0
難読コードはソフト資産には決してならずゴミか毒だと思っている。
53名無しさん@1周年:2015/02/12(木) 00:16:35.99 ID:AFBJZ9p20
ネット上のコードとか、他案件のコードを継ぎ接ぎしたようなでも解読できるのだろうか
54名無しさん@1周年:2015/02/12(木) 00:17:20.81 ID:WxgceviJ0
// このコメントをあなたが見ているということは私はすでにここにはいないということですね
55名無しさん@1周年:2015/02/12(木) 00:18:04.99 ID:ef3APow50
無理して英単語を使って綴り間違えると恥ずかしいから開き直ってローマ字派
56名無しさん@1周年:2015/02/12(木) 00:18:13.55 ID:6Z1EFdiQ0
変数名にgaibuとかgoukeiとかのローマ字使っている奴はほぼ100%
コーディングもド下手
57名無しさん@1周年:2015/02/12(木) 00:18:58.37 ID:CFnyX5360
>>10
無限ループw
58名無しさん@1周年:2015/02/12(木) 00:20:11.63 ID:aDHvLBRj0
ループの i, j, k, l は今でも使うん?
59名無しさん@1周年:2015/02/12(木) 00:20:43.19 ID:djJhaKSS0
hajime owari zentai kosuu migi hidari こんな変数名は日本人の可能性が高いな
60名無しさん@1周年:2015/02/12(木) 00:21:24.12 ID:6Z1EFdiQ0
字下げ(インテンド)が8文字とかの大学関係者が書いた
バカコードを見たことがある。予想通り中身も下手だった。
こんなもんよくぞ偉そうに晒したもんだな、と思った
61名無しさん@1周年:2015/02/12(木) 00:22:26.55 ID:TSIpNSmV0
「ファンなら」知らない著書でも1ページ目で著者が分かるみたいなもんだな
62名無しさん@1周年:2015/02/12(木) 00:23:20.32 ID:gvzJtvcJ0
つーか、自分が書いたところってわかるようにしてるんだけど。
63名無しさん@1周年:2015/02/12(木) 00:24:13.28 ID:3PtRPkHN0
ソースコードが手に入る時点でほとんど目星がついてる段階でしょ
ウィルスやネット犯罪の犯人割り出しには母集団が多すぎて使えなさそうな
64名無しさん@1周年:2015/02/12(木) 00:25:49.36 ID:aDHvLBRj0
将来の自分を笑かそうと思って書いたコメント読んで落ち込む事ならよくある
65名無しさん@1周年:2015/02/12(木) 00:25:51.14 ID:XvG6DXbx0
// やあ、よくここが怪しいと気がついたね w
// 俺からのプレゼントだ、下のコメント行を…
// print "2月22日は竹島の日"
66名無しさん@1周年:2015/02/12(木) 00:25:57.69 ID:6FxHnTSQ0
>>46
MSX-BASICはそれだな。
67名無しさん@1周年:2015/02/12(木) 00:26:29.68 ID:6Z1EFdiQ0
>>58
今でも暗黙の了解みたいなもんじゃね?
i,j,kをdoubleで宣言したコードはダメコードだろう
68名無しさん@1周年:2015/02/12(木) 00:27:13.57 ID:6f/RN3hA0
スマホで電話すると、勝手に裏でグーグルマップが立ち上がって動いてる時代
69名無しさん@1周年:2015/02/12(木) 00:27:21.88 ID:0atabDDV0
日本でこれを捜査に導入するとなぜか冤罪量産に使われる
70名無しさん@1周年:2015/02/12(木) 00:27:46.50 ID:WxgceviJ0
自分で作った変数名を五分後に忘れたことがあるやつ正直に手を上げろ
71名無しさん@1周年:2015/02/12(木) 00:29:32.61 ID:cNJ58PGB0
>>60
俺の先生もタブとスペースがぐちゃぐちゃになったコードを書いてた。
研究者って自分さえよければいいんだ・・・てオモタw
72名無しさん@1周年:2015/02/12(木) 00:31:46.16 ID:ZMbtLy/00
プログラムスレってなぜか盛り上がるけど
そんなにプログラミングできる奴いるのか
73名無しさん@1周年:2015/02/12(木) 00:34:41.73 ID:407AagYv0
>>51
じゃぁバレバレじゃないか
74名無しさん@1周年:2015/02/12(木) 00:37:42.76 ID:B6gq3sYy0
意味はないが
特定されたくなければ難読化ツール通したソースコードを配布すりゃいい
75名無しさん@1周年:2015/02/12(木) 00:37:54.62 ID:6Z1EFdiQ0
>>70
変数名を決めるのに5分近く考えることはある
76名無しさん@1周年:2015/02/12(木) 00:40:08.52 ID:tftosd+q0
開発始めは表記法とかツマラン事気にしてられるんだよ。
最後は早く帰れればどうでもよくなる。
77名無しさん@1周年:2015/02/12(木) 00:40:46.13 ID:4m2cXVya0
現場に合わせてインデントや空白の使いかた変えてるけどなw
78名無しさん@1周年:2015/02/12(木) 00:40:58.60 ID:407AagYv0
ファミコンソフトのコード?に好きな女の名前とかが入ってるのあったよね
79名無しさん@1周年:2015/02/12(木) 00:43:24.22 ID:aDHvLBRj0
>>75
5分どころか1時間以上決まらなかったりするなぁ
その後「いやこれは違う」と思って何度も変えたりとか

インデントはエディタに任せればいいんじゃないの?
設定でいつでも変えられるし
80名無しさん@1周年:2015/02/12(木) 00:44:59.83 ID:eOfLVhwM0
>>70
忘れても思い出せるようにきめるんじゃないのかw

>>72
今の40〜50代ぐらいなら大抵BASICぐらいは触ってるから。理系ならほぼ分かるだろう。
OSの起動でドライバの設定とか必要だったし、今の20代30代よりはむしろPCに馴染んでるだろうな。
若い方がアプリケーションしか使ったことがないって奴がいたりするもんじゃねか。
81名無しさん@1周年:2015/02/12(木) 00:45:45.35 ID:nkeRCxsq0
>>10
コレは!間違いなく佐藤のプログラムだな
特定した
82名無しさん@1周年:2015/02/12(木) 00:49:15.40 ID:WxgceviJ0
>>79
後から名前替えるのはあるある、そして後日また違和感を覚えたりする
そして期限が迫るとどうでも良くなってくるwww
83名無しさん@1周年:2015/02/12(木) 00:49:42.09 ID:ef3APow50
>>78
お前らいい加減に1960年生まれのなかじまかおるさんのやったことは忘れてやれよ
84名無しさん@1周年:2015/02/12(木) 00:49:46.62 ID:jiZZZoKY0
そもそも1からコード書く奴おらんだろ
>>1の記事では基幹部分のコードの話しかしとらんぞ
ウイルスだろうがなんだろうが、既存のコードコピペして作るのが普通だろ
85名無しさん@1周年:2015/02/12(木) 00:50:17.22 ID:HzB2B8lo0
コピペでもってきたコードはどうなっちゃうのさ!
86名無しさん@1周年:2015/02/12(木) 00:52:25.76 ID:k3Iz5ziZ0
今は、コピペで作るのが主流だから、
作者特定は難しいのじゃね?

コピペしないで自分で書いたコードなんて
仕事じゃ使い物にならん。
いかにコピペして作るかがプロの技。
87名無しさん@1周年:2015/02/12(木) 00:52:51.48 ID:Y27246270
コピペプログラマーがほとんど
88名無しさん@1周年:2015/02/12(木) 00:57:25.43 ID:5/QNNZ/P0
>>1
1900行も書いたら、それは立派な製品だし普通の捜査で足取りつかめるw
89名無しさん@1周年:2015/02/12(木) 00:58:43.22 ID:Y27246270
ほとんど循環コードで書いてるから
90名無しさん@1周年:2015/02/12(木) 00:59:34.85 ID:WL20ktJ30
>>1
これのどこがニュースですか?>Sunset Shimmer ★
91名無しさん@1周年:2015/02/12(木) 01:01:29.39 ID:vP5Og/Hr0
>>12
いつまでたっても3ヶ月前の自分はまるで別人だよ
自分のためにコメントを書いてるマは多いと思う
92名無しさん@1周年:2015/02/12(木) 01:01:36.35 ID:wl9+qaGt0
for文やif文に中括弧使わないヤツに軽くイラッとする
93名無しさん@1周年:2015/02/12(木) 01:01:38.38 ID:aDHvLBRj0
>>82
あれ何なんだろうなw
その時は「これだ!」って思っても数日経つと「何だこれセンスねえな俺」ってなる

そういやちょっと前にVim派かEmacs派か判別できるサイトってのがあったけど
試しにLisp書いたら vim って出てワロタ
94名無しさん@1周年:2015/02/12(木) 01:02:28.21 ID:eomCIsaI0
Sub うんこ

For r = 1 to 1000

If r = 1000 then
Msgbox "1000ならうんこ漏らす"
Else
Msgbox "うんこ"
End If

Next

End Sub
95名無しさん@1周年:2015/02/12(木) 01:02:52.58 ID:skOD5l/K0
>>87
コピペの引用元の傾向で特定するんじゃないかな
96名無しさん@1周年:2015/02/12(木) 01:04:36.30 ID:9kBSFW+20
lintみたいなソース整形するやつ使ったらどうなんのよ
97名無しさん@1周年:2015/02/12(木) 01:05:30.14 ID:vP5Og/Hr0
>>96
lintに整形機能なんてある?
98名無しさん@1周年:2015/02/12(木) 01:08:32.27 ID:fYcWu0720
5%も外れてドンピシャって・・・
99名無しさん@1周年:2015/02/12(木) 01:12:00.80 ID:Hb/68bBm0
ソースコード清書システムを使うんだね。
ついでに、ソースから個人的特徴を消すためには、
1.コメントを削除する。
2.プログラムで定義した変数名を
  出現順にa00000,a00001,a00002 などと置き換える。
  (関数名なども同様)
3.関数の記述の順番を前のものを後ろに出てくるものが参照するように
  並び替える。
4.文法で同じことを実現できる場合が複数ある場合には、1つに統一する。
。。。。。
しかし、以上のような方法をとるプログラマーが1人もしくは数人だと、
それが特定される根拠になる。
100名無しさん@1周年:2015/02/12(木) 01:14:27.83 ID:NEnRO8Kx0
昭和プログラミングは撲滅すべき。
101名無しさん@1周年:2015/02/12(木) 01:17:11.50 ID:wQ2DoR230
>>4
いきなり記事に関係ないこと書き込むアホウヨ
102名無しさん@1周年:2015/02/12(木) 01:17:30.94 ID:pFfU8y150
実行ファイル→ソースコード生成の、逆コンパイルって可能なのか?
ソースがないと判別できないよね?
103名無しさん@1周年:2015/02/12(木) 01:18:20.42 ID:I7nty5DH0
>>33
んもー、何か引っかかるので調べたら、記憶違いではありませんでしたよ。
ググルの画像検索で行番号が出てないのはダイレクトモードだから。
プログラムモードの実行画面では行番号出る。
一応、ラベルに予約語が使用されている場合も行番号は出ないが…

TRace ON にはぼちぼちお世話になったわ。
動いてるけど何かがおかしい時には変数ガンガン表示させて追っかけて…
CPUが遅かったから出来たんだよな。
104名無しさん@1周年:2015/02/12(木) 01:20:17.04 ID:fzlk3TA90
クソコン専でプログラミングのさわりで絶対にこんなもん一生やらないと誓った
CG専行で何でプログラミングやらされかけたんだよボゲ
しかも何が何兆円市場に成長だよ
パソ関連なんて全部超絶ブラックしかねーじゃん人生失敗したわ死ね
105名無しさん@1周年:2015/02/12(木) 01:20:51.26 ID:AFBJZ9p20
>>72
2ch の住民の傾向なんじゃね
00年代初期 までに居着いた奴が大半だと思うけど
その頃からネットやってる奴って、何らかの形でコーディングに触れる機会が多かったはず、
アプリ開発やらなくても、VBAのマクロとか html+javascript 手打ちするとか、いろいろきっかけはある
106名無しさん@1周年:2015/02/12(木) 01:20:51.52 ID:I7nty5DH0
>>89
小室さんですか?
107名無しさん@1周年:2015/02/12(木) 01:24:46.94 ID:45gGO2zd0
命名規則って
性格出るよね(´・ω・`)
108名無しさん@1周年:2015/02/12(木) 01:30:58.94 ID:tftosd+q0
>>102
最近はスクリプト言語ばっかだから、実行ファイル言うてもソースをzipしてるだけなのが多いんじゃね。
にしても個性とか感じられないくらいには最適化してくれそうだけど。
各CPU向けのアセンブラにするようなのは難しそうだけど、プリントデバッグ用の文字列とかで判別するんかね。
109名無しさん@1周年:2015/02/12(木) 01:37:47.03 ID:dFlw/5Pk0
おもろいな
110名無しさん@1周年:2015/02/12(木) 01:49:19.81 ID:ngY2S3Pk0
ワンライナーでもわかりますか?
111名無しさん@1周年:2015/02/12(木) 01:51:06.45 ID:Olh94uVZ0
逆に他人のソースコードに見えるように変換するプログラムとかもありかね
112名無しさん@1周年:2015/02/12(木) 01:53:02.72 ID:Bo3NoF3f0
hoge使う奴は40以上
113名無しさん@1周年:2015/02/12(木) 01:55:24.82 ID:ef3APow50
piyo
114名無しさん@1周年:2015/02/12(木) 02:01:15.16 ID:E+nSpKsR0
IT土方のパクリ、コピペプログラマーは対象ではありません。
115名無しさん@1周年:2015/02/12(木) 02:06:56.29 ID:Hb/68bBm0
----------
#include <stdio.h>
int main() {
printf("Hello Jap\n");
}
---------
だれだこんなの書いたのは。
116名無しさん@1周年:2015/02/12(木) 02:17:13.89 ID:5wpKm5Sz0
まだ土方やってんの?
117名無しさん@1周年:2015/02/12(木) 02:57:52.26 ID:+tnAOz0v0
indentすればおk
118名無しさん@1周年:2015/02/12(木) 04:11:05.21 ID:CaYV91fc0
お前らそんなにコピペしてんの?
おれは99%自分で書いてるけどなー
書いた方がはやいじゃん。
ライブラリの使用は別として。
119名無しさん@1周年:2015/02/12(木) 04:18:56.04 ID:+L6yCdQx0
>>1
それPythonでも同じこと言える?
120名無しさん@1周年:2015/02/12(木) 04:24:01.91 ID:Ea10XTOr0
7行テトリスとかコードゴルフみたいな変態チックな書き方でも特定されるのだろうか?
121名無しさん@1周年:2015/02/12(木) 04:49:20.60 ID:sxW1k9Dz0
> 60
> 字下げ(インテンド)

こんなもんよくぞ偉そうに晒したもんだな、と思った。w
122名無しさん@1周年:2015/02/12(木) 07:47:50.60 ID:W6ek9t/K0
>>112
hage
123名無しさん@1周年:2015/02/12(木) 08:03:11.85 ID:p3NOfkaq0
さっき書いた

import random
jinsei = 'sex'
jumyou = 80
nagasa = len(jinsei)
sagasu = ' '*nagasa
nenrei = 0
while sagasu != jinsei:
nenrei += 1
if nenrei > jumyou: break
sagasu = sagasu[1:] + jinsei[random.randrange(nagasa)]
print '%i歳 %s\n' % (nenrei, sagasu)
if nenrei >= jumyou:
print '寿命のため人生をあきらめました'
else:
print '%s を %i歳で成就しました' % (jinsei, nenrei)

http://i.imgur.com/hNVOh8N.jpg
124名無しさん@1周年:2015/02/12(木) 09:34:05.28 ID:UWLCeHcg0
>>10
おいおい、コメントくらい入れろよ
どんな処理してるのか分からねーじゃねーか
125名無しさん@1周年:2015/02/12(木) 10:53:28.42 ID:IkVJAE6B0
世の中のコードの大半は剽窃とコピペと継ぎ接ぎで作られてるのに指紋もくそもあるかよ
126名無しさん@1周年:2015/02/12(木) 11:56:40.93 ID:tTOlfPbF0
数千行のコードの中にgoto文多用するやつはしんだほうがいい
127名無しさん@1周年:2015/02/12(木) 16:46:28.51 ID:+ccpwRuR0
実績のあるコードをコピペ改造するのが一番生産性高いからな
128名無しさん@1周年:2015/02/12(木) 17:00:46.42 ID:fnCD0ig80
関数とコメントは確かに特徴出るね
つーかわかりやすい関数の命名ができない・・・
129名無しさん@1周年:2015/02/12(木) 17:24:11.44 ID:SNpLC+yW0
変数名はエキサイト翻訳さんを参考にしてる
130名無しさん@1周年:2015/02/12(木) 17:52:45.52 ID:0KQ6TsGV0
あーこれNHKでやってた
「ハードナッツ!」での推理ネタのプログラム版か。
まあ普通にできるわな。
131名無しさん@1周年:2015/02/12(木) 17:56:52.21 ID:GKpwiDDv0
>そう、当局がハッカーを見つけたり、オンライン詐欺の犯人を特定したり、という使い方です。

ソースコードをどうやって入手するんだ
馬鹿すぎ
132名無しさん@1周年:2015/02/12(木) 18:02:02.44 ID:R1pDDo1M0
関数や変数の名前なんかリファクタリングで一発で全変更出来るんだが・・・
関数の作り方(アルゴリズム)とかにも随分特徴出ると思うんだけど
そういう部分は解明出来てないのか
133名無しさん@1周年:2015/02/12(木) 18:04:03.66 ID:/4gZSUe00
まだまだだな
バイナリーで解析できないと
134名無しさん@1周年:2015/02/12(木) 18:04:39.61 ID:R1pDDo1M0
>>131
逆コンパイル出来る言語多いらしいけど
ジャバスクなんか丸見えだし
ただしローカル変数とか連番になったりするよな
135名無しさん@1周年:2015/02/12(木) 18:05:39.69 ID:0KQ6TsGV0
>>132
文章そのものの特長を解析する学問があるようだから
出来るは出来るんじゃね?
136名無しさん@1周年:2015/02/12(木) 18:14:20.08 ID:9CVpRVqi0
コード見ると性格もだいたい分かるよね
137名無しさん@1周年:2015/02/12(木) 18:23:07.85 ID:21foD1WD0
昔、ある企業で50人くらいのチームで開発やってたけど、
それぞれ個性がありすぎて、誰が書いたコードかすぐにわかってたな。
138名無しさん@1周年:2015/02/12(木) 18:40:09.10 ID:+F+0rdaJ0
論文もこのソフトに掛けてみたら面白いかもな。
139名無しさん@1周年:2015/02/12(木) 18:41:09.99 ID:hGnsK4rU0
コードの隙間から相手の思考がだいたい読めるんですよ
140名無しさん@1周年:2015/02/12(木) 18:43:53.81 ID:WjZ81UuG0
書き方のパターンを解析して、同じロジックのまま誰かのコーディングに似たソースに書き換えるツールぐらい
諜報機関とかなら簡単に作っちゃうんじゃないの
141名無しさん@1周年:2015/02/12(木) 18:55:56.48 ID:UMJ75ZoV0
>>105
>VBAのマクロとか html+javascript 手打ち

ま、そのくらいならやったことあるよな
メモ帳でHTML打ってホームページ作ったり
マクロでワード編集したわ
142名無しさん@1周年:2015/02/12(木) 18:57:18.26 ID:gc207wvc0
命名規則で黒歴史が有るわ
昔の自分を殴りたく成る命名法則
143名無しさん@1周年:2015/02/12(木) 19:17:43.83 ID:M/aAQfuy0
プログラムの改修するとき
「誰だよ、このセンスのないコード書いた奴!」
と、昔の自分を罵倒するプレイ
144名無しさん@1周年:2015/02/12(木) 19:20:14.77 ID:xje9KEih0
>>18
   RST 38H
145名無しさん@1周年:2015/02/12(木) 19:20:29.35 ID:R8pVV3eA0
確かにccで書いてると一秒でわかるよな
146名無しさん@1周年:2015/02/12(木) 19:25:11.30 ID:lzUS3og80
櫛邉の文体には特徴があるからなあ。
上智での中傷で神戸でも中傷してたことがばれた。
147名無しさん@1周年:2015/02/12(木) 19:25:58.09 ID:r5aprK6r0
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   気取ってねえでローマ字で書けばいいんだよ!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
148名無しさん@1周年:2015/02/12(木) 19:29:00.18 ID:mux9Ts0+0
楽曲に応用すると物凄く楽しい結果になりそうだな
149名無しさん@1周年:2015/02/12(木) 19:31:15.82 ID:5RHmozk30
HSPでRPG作ってたんだけど、今月に入ってから作業が止まってる。
150名無しさん@1周年:2015/02/12(木) 19:31:44.15 ID:j07xaeUU0
逆に癖を解析してソースをその癖でカスタマイズし、人に罪を着せることも可能なわけだ
151名無しさん@1周年:2015/02/12(木) 19:35:12.68 ID:j07xaeUU0
>>144
LD BC,HL と書く癖があるのはS-OS使いか
152名無しさん@1周年:2015/02/12(木) 19:35:24.43 ID:U+A7IVrB0
つーかIDEのフォーマッティング機能使うだろ
153名無しさん@1周年:2015/02/12(木) 19:35:52.01 ID:PJ5GNTfq0
インデント全く空けないマンです
154名無しさん@1周年:2015/02/12(木) 19:39:47.82 ID:9G2sKx670
【キーワード抽出】
キーワード: 再帰
抽出レス数:0

【キーワード抽出】
キーワード: 探索
抽出レス数:0

【キーワード抽出】
キーワード: ソート
抽出レス数:0



あっ、ふーん・・・(察し)
このスレの住民のレベルが知れるな
155名無しさん@0新周年@転載は禁止          :2015/02/12(木) 19:45:22.71 ID:z3B3U2q10
               
新聞社名を隠して新聞記事を読んだ場合、

朝日の記事だけはすぐに判別が可能なんだよね・・・
156名無しさん@1周年:2015/02/12(木) 19:50:51.78 ID:yDSHd/Oh0
なんというアホ研究。

世界に何百万人プログラマがいると思ってんだ。
157名無しさん@1周年:2015/02/12(木) 19:52:22.24 ID:lfWnmVlZ0
まあ確かに、きったないコード書く人もいれば、几帳面にコメント残す奴もいるからな。
158名無しさん@1周年:2015/02/12(木) 19:53:08.82 ID:R1pDDo1M0
特徴が表れている箇所は20行目から30行目、もしくは40行目から50行目
159名無しさん@1周年:2015/02/12(木) 19:54:58.48 ID:YcZVCP2S0
また底辺労働者のスレか。
160名無しさん@1周年:2015/02/12(木) 19:58:30.73 ID:0Ng/fqOE0
馬鹿ほど良く釣れるスレ
161名無しさん@1周年:2015/02/12(木) 20:01:00.76 ID:7MLmwdne0
>>5
最悪って言うか、癖を理解するのに時間がかかるんだよな。
まぁ、自社内だとある程度のルールが確立されているけども、
他社との共同作業とか外注買い取りとかはまじでやりにくいんだわ。
162名無しさん@1周年:2015/02/12(木) 20:03:46.11 ID:/I3H/8me0
後妻業さくらのたかじんメモは解読出来ないのか?
163名無しさん@1周年:2015/02/12(木) 20:27:50.28 ID:axDg6z8l0
>>102
Javaなら、classファイルから逆コンパイルできる
164名無しさん@1周年:2015/02/12(木) 22:14:46.27 ID:W6ek9t/K0
>>163
java以外でも可能だよ

読めるかどうかは別だかな
165名無しさん@1周年:2015/02/12(木) 23:06:10.06 ID:32r9Esvk0
まあ、ITSSレベル4の俺に言わせると、コードなんか新人かコーダにおまかせです。


俺が設計したシステムの特徴から俺を特定するってなら、面白い。
きっとUMLの書き方の特徴を解析されるとバレるだろうな。
166名無しさん@1周年:2015/02/12(木) 23:21:38.90 ID:9q2lotn90
LINT ???
167名無しさん@1周年:2015/02/12(木) 23:36:43.48 ID:P0EQqnhi0
会社で、バッチで作ってって言われて、作ったのがあるが、
要望全部放り込んだら、4500行くらいになった。
これも、ちゃんと判定してくれるかな。
168名無しさん@1周年:2015/02/12(木) 23:56:44.03 ID:l1zHJkSu0
そんな事どーでもいいだろ CPUのIDコードが、ネット上を流れる書き込みの頭に付くことを知っていれば
そして、文末にはもちろん書いた奴のデータが付加されることも・・・
169名無しさん@1周年:2015/02/12(木) 23:57:28.82 ID:gu7U98o00
勉強だけして、レベル4だえっへんって
いってるやつを10分くらいの
面談で見抜く方法を提示願う。

応用力が無くて、自意識過剰なやつは
レベル4でも使いにくい。
いらないわ
170名無しさん@1周年:2015/02/13(金) 02:00:50.68 ID:gzcrg9z50
>>161
同意します

>>169
問題を作らせる問題を出す
171名無しさん@1周年:2015/02/13(金) 06:49:33.67 ID:90lBi3UM0
レベル4ってあのバイオセーフティーレベルの・・・
生き物として最凶最悪に危険なやつ・・・
172名無しさん@1周年:2015/02/13(金) 10:31:13.09 ID:O8mV/5DL0
最近は開発環境が勝手に整形するというのに、
ほんとプログラム書けない奴がする研究は馬鹿だな。
173名無しさん@1周年:2015/02/13(金) 11:46:37.95 ID:lrSZfm0I0
>>151
http://www.retropc.net/ohishi/s-os/

なんだこれ、こんな話があったのかよ… 今知ったわ… すごい話だなこれ
174名無しさん@1周年:2015/02/13(金) 11:50:27.63 ID:s7OqXVLu0
>>155
朝日と産経と信濃毎日の社説はいくら隠してもすぐわかる。
175名無しさん@1周年:2015/02/13(金) 11:51:50.30 ID:gUk09aW40
ソース晒してるハッカー?
176名無しさん@1周年:2015/02/13(金) 11:55:38.95 ID:iYn+Xtek0
>>164
少なくとも作者の判別に使えるだけのソースの癖まではほとんど復元できないよね
177名無しさん@1周年:2015/02/14(土) 01:31:00.95 ID:jMjuGQMP0
最近の若い奴らはgoogle検索結果のコピペで間に合わせて作るから
個人特定とかまず無理(´・ω・`)
178名無しさん@1周年:2015/02/14(土) 06:32:52.27 ID:iIXeUEUF0
ソースコピペならまだしもwikipeの概要コピペしてる奴まで居る
179名無しさん@1周年:2015/02/14(土) 23:31:32.59 ID:lp46oIe50
業務によっても違うし
保守だと元のに合わせるからさらに違う
180名無しさん@1周年
漏れは修正OK出て金も貰えるなら
原形留めないほど弄繰り回してからでないと
保守しないというか断る