2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【プログラミング】GitHub上でバグ修正競争、人間の開発者上回るボットが登場

1 :しじみ ◆fbtBqopam767 しじみ ★:2020/02/06(Thu) 10:09:04 ID:iLtO7OAQ9.net
ソフトウェアのバグを見つけて質の高い修正パッチを高速かつ自動的に生成するボットが作れたら、開発者にとってこの上ない朗報であろう。スウェーデン王立工科大学の研究チームは、「リペアネーター」と呼ぶボットを開発し、GitHub上で修正パッチの作成を人間と競うテストを実施した。


「この世で死と税金のほかに、確実と言えるものは何もない」。米国の有名な政治家であり、発明家、物理学者であったベンジャミン・フランクリンは1789年にそう記した。フランクリンが現代の世に生きていたら、その2つに「ソフトウェアのバグ」を付け加えたことだろう。

現代のコンピューター・プログラムは複雑さを増しているため、開発過程でバグが生じるのは避けようがない。そのため、バグを見つけ、修正パッチを書くプロセスは、どんなソフトウェア開発のスケジュールにも普通に組み込まれている。トラヴィス(Travis)など、その手のサービスを開発者に提供している企業も実際にある。

今日、ストックホルムにあるスウェーデン王立工科大学のマーティン・モンペラス教授らの研究のおかげで、開発者たちの夢が実現している。モンペラス教授らは、バグを見つけ、質の高いパッチを書くのを人間の開発者と競えるようなボットをついに作り出したのだ。

研究チームが「リペアネーター(Repairnator)」と名付けたボットは、人間の開発者と修正部分の発見を競うテストにおいて成功を収めた。「プログラムの自動修正に関するソフトウェア工学の研究において、人間に匹敵するボットを作るためのマイルストーンとなるでしょう」とチームは述べる。

パッチを書くプロセスが自動化できることは、コンピューター科学者の間では長く知られている。だが、ボットが人間と同じくらい速さと品質でパッチを書けるかどうかは明らかではない。

https://www.technologyreview.jp/s/109502/a-bot-disguised-as-a-human-software-developer-fixes-bugs/

2 :名無しさん@1周年:2020/02/06(Thu) 10:10:13 ID:d6PQhYI00.net
仕様とバグの切り分けが難しそうだな

3 :名無しさん@1周年:2020/02/06(Thu) 10:10:37 ID:IToFvPQB0.net
デバッグもAIがやる時代なのか!

4 :名無しさん@1周年:2020/02/06(Thu) 10:13:20 ID:EPiexZtQ0.net
>>2
ちゃんと質問してくれるんじゃない?
で、「違う、そうじゃない」
というと、ちゃんと意向に沿った修正が行われるとか

5 :名無しさん@1周年:2020/02/06(Thu) 10:14:51 ID:wjVJYoQ80.net
元気があれば何でも出来る

6 :名無しさん@1周年:2020/02/06(Thu) 10:15:28 ID:OUix/qVa0.net
最後には更地になるんですね?

7 :名無しさん@1周年:2020/02/06(Thu) 10:17:16 ID:pWpXHLUn0.net
リペアネーターをリペアネーターにかけてみよう…

8 :名無しさん@1周年:2020/02/06(Thu) 10:18:08 ID:tQTGyGQp0.net
単純ミスなら直せるタイプのものもあるだろうけど、
取捨選択が必要な修正変更もあるけどな。

9 :名無しさん@1周年:2020/02/06(Thu) 10:22:23 ID:yBksOOzb0.net
リペアネーター vs apatch

10 :名無しさん@1周年:2020/02/06(Thu) 10:22:31 ID:apODsl/U0.net
そのうち仕様書だけでプログラミングしてくれるAIができるだろうな

11 :名無しさん@1周年:2020/02/06(Thu) 10:22:35 ID:vX4o9AnU0.net
MS Windows バグも直るのか

12 :名無しさん@1周年:2020/02/06(木) 10:23:36.97 ID:Gpzn8awZ0.net
岐阜ハブ、毒蛇?

13 :名無しさん@1周年:2020/02/06(木) 10:23:52.34 ID:SbvrULxx0.net
生産性が上がるのか、程度の低い技術者が淘汰されるのか

14 :名無しさん@1周年:2020/02/06(Thu) 10:26:07 ID:0b5ewcsU0.net
並列スレッドのタイミングで1/1000程度の頻度で発生するバグの修正を頼む...

15 :名無しさん@1周年:2020/02/06(Thu) 10:26:53 ID:FEo7yax80.net
デバッグして適切なコードを提示してくれるなら有難いけど、コーダーが失業するかもしれんね。

16 :名無しさん@1周年:2020/02/06(Thu) 10:27:16 ID:i4Za5F8K0.net
ビルドエラーと何が違うのだろう?

17 :名無しさん@1周年:2020/02/06(Thu) 10:28:32 ID:i4Za5F8K0.net
ビルドエラーが発生する行はコメントアウト。これでとりあえず動くものはできる。しかし当然要求仕様は満たせない。

18 :名無しさん@1周年:2020/02/06(木) 10:31:11.55 ID:hFFktru10.net
バグを修正するのか、パッチを作成するのか良くわからない文章だな

19 :名無しさん@1周年:2020/02/06(木) 10:32:56.81 ID:M8a7zK2I0.net
>>1
こうして考えるのを諦めた人類は滅びていくのであった

20 :名無しさん@1周年:2020/02/06(Thu) 10:38:56 ID:ufU0jZCi0.net
>>14
それ最低限の時間サンドボックスで動かすしかないんじゃないか?
(メモリ使用量、使用アドレス 、I/Oのタイミングとか)

21 :名無しさん@1周年:2020/02/06(Thu) 10:45:00 ID:nNaBXbAs0.net
そもそもその動作がバグかどうかってどう判定してるんだろう?

22 :名無しさん@1周年:2020/02/06(Thu) 10:53:18 ID:fvh/mzTD0.net
人間は奴隷しか要らなくなる

23 :名無しさん@1周年:2020/02/06(Thu) 10:57:29 ID:Cv68FZRQ0.net
GitHub上の全てのバグ修正の内容を学習させたら最強のAI作れないの?

24 :名無しさん@1周年:2020/02/06(Thu) 10:57:37 ID:E158Ekzv0.net
>>10
「仕様がいい加減なためにコーディング不可能です」なんてエラーが大量発生w
そして、仕様書をデバッグするプログラムが。

25 :名無しさん@1周年:2020/02/06(Thu) 10:59:17 ID:E158Ekzv0.net
C/C++ならメモリーリークとか、インデックスオーバーフローとかの類は
既に自動的に見つけてくれるデバッガーがあるよね。

26 :名無しさん@1周年:2020/02/06(Thu) 11:09:35 ID:e+D/JsNx0.net
BUGUバグ武具バグ?

27 :名無しさん@1周年:2020/02/06(Thu) 11:31:05 ID:p+97EaRa0.net
仕様なんて人間が自分の狭い知見のなかで考えてるものだから進めていくと周辺との矛盾が出まくって破綻する。
いずれ人間の生命活動はもとよりこの世の森羅万象の動きをフレームワーク化したライブラリが開発されるので自分の関係するところだけ上書きすればよいし、どんな風に上書きすればよいかも全てライブラリ化されている。
当然、まだ世の中に出ていない新しい概念やビジネスモデルなどもライブラリ化されている。
まあ、このプラットフォームを考えるのは人間には無理なのでAIが開発することになる。
すべてのプログラマーが今みたいな非生産的な作業から解放された素晴らしい時代になっている。

28 :名無しさん@1周年:2020/02/06(Thu) 12:07:21 ID:NUs19GLS0.net
ベンザミンの一説を出せばアホな記事がかっこよくなる的なミエミエ戦法かよ

29 :名無しさん@1周年:2020/02/06(Thu) 12:14:34 ID:i4Za5F8K0.net
プログラマーの給与を下げたいのだろう。そんで危機感煽る作戦。

30 :名無しさん@1周年:2020/02/06(Thu) 12:17:24 ID:DTGLHQ7c0.net
OSI第8層を解決してくれるボットがスカイネットなのか

31 :名無しさん@1周年:2020/02/06(Thu) 12:18:19 ID:XNieCz0S0.net
>>24
結局そういうのってPythonで書けば十数行で済むものを
何十ページも使って記述するはめになるよな
しかも最終的にはそれをプログラムに再翻訳

32 :名無しさん@1周年:2020/02/06(Thu) 12:19:30 ID:C8BsxFjA0.net
>>24
それはもうソフトを作るところまでできるじゃん。

33 :名無しさん@1周年:2020/02/06(Thu) 12:20:15 ID:uSBsad0E0.net
オッサンだから未だにperlメインだわ

34 :名無しさん@1周年:2020/02/06(Thu) 12:22:24 ID:R9nY6zkn0.net
GitHubの出現で、プログラマ辞めた

35 :名無しさん@1周年:2020/02/06(Thu) 12:23:11 ID:UUzUbbBj0.net
アスカ

36 :名無しさん@1周年:2020/02/06(Thu) 12:26:13 ID:2o2FiIA+0.net
GitHubはマイクロソフト傘下
マイクロソフトのパッチの品質上げてくれ

37 :名無しさん@1周年:2020/02/06(Thu) 12:26:32 ID:7aHpgoLt0.net
テスト書いてなくてもやってくれるんかな

38 :名無しさん@1周年:2020/02/06(Thu) 12:28:23 ID:9c2MZ91v0.net
findbugsとか前からある

39 :名無しさん@1周年:2020/02/06(Thu) 12:28:44 ID:PkXp7dez0.net
仕様書を精密に書く必要があり、それそのものがプログラムと変わらなかったりな

40 :名無しさん@1周年:2020/02/06(Thu) 12:29:26 ID:hr3xBM/y0.net
if flg = 1
syori.A();
syori.B();

41 :名無しさん@1周年:2020/02/06(Thu) 12:29:27 ID:zLHVjaL10.net
ギフハブスレかな

42 :名無しさん@1周年:2020/02/06(Thu) 12:29:34 ID:9c2MZ91v0.net
circleCIも前から連携できた

43 :名無しさん@1周年:2020/02/06(Thu) 12:29:55 ID:7aHpgoLt0.net
仕様云々書いてる人はあほなん?

44 :名無しさん@1周年:2020/02/06(Thu) 12:31:23 ID:81YIH4Hm0.net
>>41
何を言ってる全くわからないのでギフハブの暗号通信スレだと思うσ(^◇^;)

45 :名無しさん@1周年:2020/02/06(Thu) 12:31:24 ID:S8KaEqkL0.net
これが出来たらコーダー土方が開放されて
もっと高度な設計に移動だな
なんちゃって仕様を書くだけの上司が下克上で要らなくなるww
コードも読めない設計者は仕事無くなる

46 :名無しさん@1周年:2020/02/06(Thu) 12:33:39 ID:WySD9JbO0.net
5ちゃんってプログラマーめちゃいるな

47 :名無しさん@1周年:2020/02/06(Thu) 12:38:59 ID:Lb7orSxv0.net
 LD SP,0h
 LD A,0h
 LD H,A
 LD L,A
L:PUSH A
 DEC HL
 JP NZ,L

これ、バグだと見られるだろうか

48 :名無しさん@1周年:2020/02/06(Thu) 12:44:45 ID:akfYsf0v0.net
// よくわからんけど、ちょっとwait

// なぜか2回やるとうまくいく

49 :名無しさん@1周年:2020/02/06(木) 12:53:14.77 ID:/4EXAMJZ0.net
簡単なソースだろ
仕様要求されたら無理

50 :名無しさん@1周年:2020/02/06(木) 12:56:49.78 ID:IonSjHO00.net
「SNSに投稿されている完璧に見える写真」現実の姿はこれ
http://in-ssm.countyohio.com/1578900002

51 :名無しさん@1周年:2020/02/06(木) 12:57:20.41 ID:etrbkq5L0.net
素朴なミスを修正して回るのは可能だろうし有用だろうな

52 :名無しさん@1周年:2020/02/06(木) 12:57:50.42 ID:LxFY/pw50.net
この記事を見ると、バグ修正プログラムをテストするため、
バグ発見の能力を人間と競わせるため、あらかじめ人為的にバグ部分を仕込んだ
ソースを解析させて良い成績を出した、って気がするけど実際どうなんだろ?

既に広く使われてるようなプログラムのソースを食わせて、
これまで誰も気付かなかったバグを発見、指摘してくれないと
さほど凄いと思えないな。

53 :名無しさん@1周年:2020/02/06(Thu) 13:06:01 ID:7oPHfdTN0.net
バグを直せるなら
プログラム自体を作る事も可能になるのでは?
そうしたらプログラマーにとっては朗報ではなく失業の危機なのでは?

54 :名無しさん@1周年:2020/02/06(Thu) 13:07:29 ID:6qw4X0D70.net
周辺丸ごと消してしまえばバグもない!
みたいな対応だったりして

55 :名無しさん@1周年:2020/02/06(Thu) 13:07:59 ID:2o2FiIA+0.net
>>53
仕様確定できればプログラムは誰がどうやって書いてもいい

56 :名無しさん@1周年:2020/02/06(Thu) 13:17:04 ID:/NKx56aw0.net
いつも見てるぞ!

57 :名無しさん@1周年:2020/02/06(Thu) 13:18:21 ID:E158Ekzv0.net
バグの9割は仕様通りのコードが書けない事に由来し、
そのうちの8割は仕様では明記されていないが、常識的に配慮すべき事を
忘れた事によって発生する。

仕様の間違いに起因するケースでは、バグどころではなく、周辺プログラム
巻き込んでプロジェクトの全滅を引き起こす可能性がある。

58 :名無しさん@1周年:2020/02/06(Thu) 13:18:59 ID:VzF5W7ZU0.net
>>4
「質問」をどう定義すればいいの?

59 :名無しさん@1周年:2020/02/06(Thu) 13:19:44 ID:VzF5W7ZU0.net
>>3
無知がバレるからレスしない方が…

60 :名無しさん@1周年:2020/02/06(Thu) 13:36:21 ID:wCWmqkS60.net
>>58
>>59
頭の悪いレスしないほうが良いぞ

61 :名無しさん@1周年:2020/02/06(Thu) 13:45:02 ID:i1Oo/b820.net
バックドアをAIが探してクラックする時代がくるのか

62 :名無しさん@1周年:2020/02/06(木) 13:52:47.04 ID:O+5MrPO/0.net
どうせすげー限定された条件でしか動かないんでしょ

63 :名無しさん@1周年:2020/02/06(Thu) 14:07:16 ID:xpenZC3m0.net
プロジェクトの後半に仕様書を書き始めるからなあ

64 :名無しさん@1周年:2020/02/06(Thu) 14:08:56 ID:7aHpgoLt0.net
https://github.com/eclipse/repairnator/issues/758

"I don't want to offend you, but does it more appropriate to call it NPEnator?"
https://github.com/eclipse/repairnator/issues/758#issuecomment-433251934

ちょっとわらった

65 :名無しさん@1周年:2020/02/06(Thu) 14:09:19 ID:jvjKDXyq0.net
ただのクォートのミス

66 :名無しさん@1周年:2020/02/06(Thu) 14:13:23 ID:BThx65Lc0.net
Syntax Errorしか直せないんだろ?

67 :名無しさん@1周年:2020/02/06(Thu) 14:33:15 ID:7aHpgoLt0.net
なんで実験のことプルリク送るときにかかずに後出ししたんだろ

68 :名無しさん@1周年:2020/02/06(Thu) 14:48:48 ID:7aHpgoLt0.net
記事と実績の温度差が大きすぎる
しかも、一年以上前のだし

69 :名無しさん@1周年:2020/02/06(木) 14:52:35.10 ID:YjnzlBpk0.net
共産党AIがバックドアを仕込んでいくんじゃないの?

70 :名無しさん@1周年:2020/02/06(Thu) 15:24:25 ID:xRq45gJC0.net
flashはこいつに任せられねえかな

71 :名無しさん@1周年:2020/02/06(Thu) 15:24:48 ID:MlCDwUiT0.net
簡単な不具合ならともかく
コレは絶対に無理
断言できる

72 :名無しさん@1周年:2020/02/06(Thu) 15:28:13 ID:JZW9GVSV.net
>>1
つまり・・・

「人間に絶対服従」

AI「バグ発見、パッチプログラム作成」

「人間を絶対服従」

こうか!!

73 :名無しさん@1周年:2020/02/06(Thu) 15:54:50 ID:tskyX3ne0.net
>>4
矛盾したこと言いそう
人間が

74 :名無しさん@1周年:2020/02/06(木) 16:08:38.98 ID:E158Ekzv0.net
>>73
で、HAL9000が暴走開始するわけですね

75 :名無しさん@1周年:2020/02/06(Thu) 17:09:37 ID:AERnEc+80.net
リペアネーター「お?またバグめっけ、、あれ、、?このコードは自分にもあったような、、」

リペアネーター「俺はバグじゃない 俺はバグじゃない、、バグじゃないんだ、、」

76 :名無しさん@1周年:2020/02/06(Thu) 17:33:32 ID:GZKl4wav0.net
>>58
専用の質問言語QSLを定義する

77 :名無しさん@1周年:2020/02/06(Thu) 17:37:40 ID:GZKl4wav0.net
>>73
その場合解釈可能な回答がえられるままで

「論理破綻した記述です」
「○○が未定義または必要な粒度を持ちません」

などエラーを吐きながら無限待機

78 :名無しさん@1周年:2020/02/06(Thu) 18:14:51 ID:+k+j0sAP0.net
タイポだけいちいちPR投げてくるバカにイラッとしてたんだわ
こいつのおかげでイラつきはだいぶ軽減されそうだな
早よ使いたいわ

79 :名無しさん@1周年:2020/02/06(Thu) 20:07:24 ID:MfS3JEzy0.net
>>10
完全な仕様書はプログラムと同義だと何度言ったら

80 :名無しさん@1周年:2020/02/06(Thu) 21:53:49 ID:gaKpopVb0.net
飛鳥涼の思考を盗聴するのが本職だろ

81 :名無しさん@1周年:2020/02/07(金) 07:48:34 ID:IlIkvPCe0.net
>>79
プログラムソースを読ませると仕様書を出力してくれる、
というプログラムも有用そうだね。

プログラムが出したプログラムの仕様書をプログラマが読んで
「あれ?」と思った部分がプログラムミスってことで。
元の仕様で指定されるべきなのに漏れていた「あるべき動作」に
気付くヒントになるかも知れんし。

82 :名無しさん@1周年:2020/02/07(金) 09:45:48 ID:vZZv6lKS0.net
完璧な仕様書はプログラムと等価だと何度言えば…

良いプログラマは、少なくともコーディング中は、仕様書の文字に書かれた事が
すべて頭に入っている事。そして仕様書には書かれていないが常識的に考慮が
必要な事柄を、何のヒントも無しに当たり前にコードにしていく。その言語(ライブ
ラリ)特有の「不定動作」を避けたり、業務的にあり得ない事象に気が付いたり。
これらの能力が求められる。

完璧な仕様書とは、良いプログラマの行う後者の事象を、全て文字列化したものだ。

83 :名無しさん@1周年:2020/02/07(金) 10:25:54 ID:EcQQXP9l0.net
>>79
こうゆうの作って言うたら要件定義からプログラムまで全部こなすAI
近い将来実現するだろうな

84 :名無しさん@1周年:2020/02/07(金) 10:26:55 ID:dkPBryhy0.net
>>2
バグと誤読されるような仕様は淘汰されて
美しいコードだけが残れば良い

85 :名無しさん@1周年:2020/02/07(金) 10:32:14 ID:/ZSe+4mF0.net
なんか昔あったな。
自動プログラミングを実現するために仕様を厳密に記載するための言語を定義して仕様を書いたらプログラムが出来上がったという話が。

86 :名無しさん@1周年:2020/02/07(金) 11:36:27 ID:y4VW31qh0.net
>>85
富士通辺りがやってたね。
特殊な書き方を覚えなきゃいけなくて、不評だったとか聞いたことがある。

今ならもう少し自然語で書いても解釈してくれそうだね。

総レス数 86
16 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★