■ このスレッドは過去ログ倉庫に格納されています
【プログラミング】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 ★