X



【プログラミング】GitHub上でバグ修正競争、人間の開発者上回るボットが登場
■ このスレッドは過去ログ倉庫に格納されています
0001しじみ ◆fbtBqopam767 しじみ ★
垢版 |
2020/02/06(木) 10:09:04.43ID:iLtO7OAQ9
ソフトウェアのバグを見つけて質の高い修正パッチを高速かつ自動的に生成するボットが作れたら、開発者にとってこの上ない朗報であろう。スウェーデン王立工科大学の研究チームは、「リペアネーター」と呼ぶボットを開発し、GitHub上で修正パッチの作成を人間と競うテストを実施した。


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

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

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

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

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

https://www.technologyreview.jp/s/109502/a-bot-disguised-as-a-human-software-developer-fixes-bugs/
0004名無しさん@1周年
垢版 |
2020/02/06(木) 10:13:20.20ID:EPiexZtQ0
>>2
ちゃんと質問してくれるんじゃない?
で、「違う、そうじゃない」
というと、ちゃんと意向に沿った修正が行われるとか
0006名無しさん@1周年
垢版 |
2020/02/06(木) 10:15:28.67ID:OUix/qVa0
最後には更地になるんですね?
0008名無しさん@1周年
垢版 |
2020/02/06(木) 10:18:08.40ID:tQTGyGQp0
単純ミスなら直せるタイプのものもあるだろうけど、
取捨選択が必要な修正変更もあるけどな。
0010名無しさん@1周年
垢版 |
2020/02/06(木) 10:22:31.60ID:apODsl/U0
そのうち仕様書だけでプログラミングしてくれるAIができるだろうな
0011名無しさん@1周年
垢版 |
2020/02/06(木) 10:22:35.58ID:vX4o9AnU0
MS Windows バグも直るのか
0013名無しさん@1周年
垢版 |
2020/02/06(木) 10:23:52.34ID:SbvrULxx0
生産性が上がるのか、程度の低い技術者が淘汰されるのか
0014名無しさん@1周年
垢版 |
2020/02/06(木) 10:26:07.14ID:0b5ewcsU0
並列スレッドのタイミングで1/1000程度の頻度で発生するバグの修正を頼む...
0015名無しさん@1周年
垢版 |
2020/02/06(木) 10:26:53.48ID:FEo7yax80
デバッグして適切なコードを提示してくれるなら有難いけど、コーダーが失業するかもしれんね。
0017名無しさん@1周年
垢版 |
2020/02/06(木) 10:28:32.67ID:i4Za5F8K0
ビルドエラーが発生する行はコメントアウト。これでとりあえず動くものはできる。しかし当然要求仕様は満たせない。
0018名無しさん@1周年
垢版 |
2020/02/06(木) 10:31:11.55ID:hFFktru10
バグを修正するのか、パッチを作成するのか良くわからない文章だな
0019名無しさん@1周年
垢版 |
2020/02/06(木) 10:32:56.81ID:M8a7zK2I0
>>1
こうして考えるのを諦めた人類は滅びていくのであった
0020名無しさん@1周年
垢版 |
2020/02/06(木) 10:38:56.26ID:ufU0jZCi0
>>14
それ最低限の時間サンドボックスで動かすしかないんじゃないか?
(メモリ使用量、使用アドレス 、I/Oのタイミングとか)
0021名無しさん@1周年
垢版 |
2020/02/06(木) 10:45:00.66ID:nNaBXbAs0
そもそもその動作がバグかどうかってどう判定してるんだろう?
0022名無しさん@1周年
垢版 |
2020/02/06(木) 10:53:18.31ID:fvh/mzTD0
人間は奴隷しか要らなくなる
0023名無しさん@1周年
垢版 |
2020/02/06(木) 10:57:29.91ID:Cv68FZRQ0
GitHub上の全てのバグ修正の内容を学習させたら最強のAI作れないの?
0024名無しさん@1周年
垢版 |
2020/02/06(木) 10:57:37.07ID:E158Ekzv0
>>10
「仕様がいい加減なためにコーディング不可能です」なんてエラーが大量発生w
そして、仕様書をデバッグするプログラムが。
0025名無しさん@1周年
垢版 |
2020/02/06(木) 10:59:17.26ID:E158Ekzv0
C/C++ならメモリーリークとか、インデックスオーバーフローとかの類は
既に自動的に見つけてくれるデバッガーがあるよね。
0027名無しさん@1周年
垢版 |
2020/02/06(木) 11:31:05.41ID:p+97EaRa0
仕様なんて人間が自分の狭い知見のなかで考えてるものだから進めていくと周辺との矛盾が出まくって破綻する。
いずれ人間の生命活動はもとよりこの世の森羅万象の動きをフレームワーク化したライブラリが開発されるので自分の関係するところだけ上書きすればよいし、どんな風に上書きすればよいかも全てライブラリ化されている。
当然、まだ世の中に出ていない新しい概念やビジネスモデルなどもライブラリ化されている。
まあ、このプラットフォームを考えるのは人間には無理なのでAIが開発することになる。
すべてのプログラマーが今みたいな非生産的な作業から解放された素晴らしい時代になっている。
0028名無しさん@1周年
垢版 |
2020/02/06(木) 12:07:21.42ID:NUs19GLS0
ベンザミンの一説を出せばアホな記事がかっこよくなる的なミエミエ戦法かよ
0029名無しさん@1周年
垢版 |
2020/02/06(木) 12:14:34.60ID:i4Za5F8K0
プログラマーの給与を下げたいのだろう。そんで危機感煽る作戦。
0031名無しさん@1周年
垢版 |
2020/02/06(木) 12:18:19.69ID:XNieCz0S0
>>24
結局そういうのってPythonで書けば十数行で済むものを
何十ページも使って記述するはめになるよな
しかも最終的にはそれをプログラムに再翻訳
0032名無しさん@1周年
垢版 |
2020/02/06(木) 12:19:30.29ID:C8BsxFjA0
>>24
それはもうソフトを作るところまでできるじゃん。
0033名無しさん@1周年
垢版 |
2020/02/06(木) 12:20:15.07ID:uSBsad0E0
オッサンだから未だにperlメインだわ
0034名無しさん@1周年
垢版 |
2020/02/06(木) 12:22:24.05ID:R9nY6zkn0
GitHubの出現で、プログラマ辞めた
0035名無しさん@1周年
垢版 |
2020/02/06(木) 12:23:11.84ID:UUzUbbBj0
アスカ
0036名無しさん@1周年
垢版 |
2020/02/06(木) 12:26:13.87ID:2o2FiIA+0
GitHubはマイクロソフト傘下
マイクロソフトのパッチの品質上げてくれ
0037名無しさん@1周年
垢版 |
2020/02/06(木) 12:26:32.30ID:7aHpgoLt0
テスト書いてなくてもやってくれるんかな
0038名無しさん@1周年
垢版 |
2020/02/06(木) 12:28:23.86ID:9c2MZ91v0
findbugsとか前からある
0039名無しさん@1周年
垢版 |
2020/02/06(木) 12:28:44.15ID:PkXp7dez0
仕様書を精密に書く必要があり、それそのものがプログラムと変わらなかったりな
0042名無しさん@1周年
垢版 |
2020/02/06(木) 12:29:34.59ID:9c2MZ91v0
circleCIも前から連携できた
0043名無しさん@1周年
垢版 |
2020/02/06(木) 12:29:55.09ID:7aHpgoLt0
仕様云々書いてる人はあほなん?
0044名無しさん@1周年
垢版 |
2020/02/06(木) 12:31:23.95ID:81YIH4Hm0
>>41
何を言ってる全くわからないのでギフハブの暗号通信スレだと思うσ(^◇^;)
0045名無しさん@1周年
垢版 |
2020/02/06(木) 12:31:24.10ID:S8KaEqkL0
これが出来たらコーダー土方が開放されて
もっと高度な設計に移動だな
なんちゃって仕様を書くだけの上司が下克上で要らなくなるww
コードも読めない設計者は仕事無くなる
0047名無しさん@1周年
垢版 |
2020/02/06(木) 12:38:59.94ID:Lb7orSxv0
 LD SP,0h
 LD A,0h
 LD H,A
 LD L,A
L:PUSH A
 DEC HL
 JP NZ,L

これ、バグだと見られるだろうか
0048名無しさん@1周年
垢版 |
2020/02/06(木) 12:44:45.52ID:akfYsf0v0
// よくわからんけど、ちょっとwait

// なぜか2回やるとうまくいく
0049名無しさん@1周年
垢版 |
2020/02/06(木) 12:53:14.77ID:/4EXAMJZ0
簡単なソースだろ
仕様要求されたら無理
0051名無しさん@1周年
垢版 |
2020/02/06(木) 12:57:20.41ID:etrbkq5L0
素朴なミスを修正して回るのは可能だろうし有用だろうな
0052名無しさん@1周年
垢版 |
2020/02/06(木) 12:57:50.42ID:LxFY/pw50
この記事を見ると、バグ修正プログラムをテストするため、
バグ発見の能力を人間と競わせるため、あらかじめ人為的にバグ部分を仕込んだ
ソースを解析させて良い成績を出した、って気がするけど実際どうなんだろ?

既に広く使われてるようなプログラムのソースを食わせて、
これまで誰も気付かなかったバグを発見、指摘してくれないと
さほど凄いと思えないな。
0053名無しさん@1周年
垢版 |
2020/02/06(木) 13:06:01.98ID:7oPHfdTN0
バグを直せるなら
プログラム自体を作る事も可能になるのでは?
そうしたらプログラマーにとっては朗報ではなく失業の危機なのでは?
0054名無しさん@1周年
垢版 |
2020/02/06(木) 13:07:29.32ID:6qw4X0D70
周辺丸ごと消してしまえばバグもない!
みたいな対応だったりして
0055名無しさん@1周年
垢版 |
2020/02/06(木) 13:07:59.13ID:2o2FiIA+0
>>53
仕様確定できればプログラムは誰がどうやって書いてもいい
0056名無しさん@1周年
垢版 |
2020/02/06(木) 13:17:04.79ID:/NKx56aw0
いつも見てるぞ!
0057名無しさん@1周年
垢版 |
2020/02/06(木) 13:18:21.53ID:E158Ekzv0
バグの9割は仕様通りのコードが書けない事に由来し、
そのうちの8割は仕様では明記されていないが、常識的に配慮すべき事を
忘れた事によって発生する。

仕様の間違いに起因するケースでは、バグどころではなく、周辺プログラム
巻き込んでプロジェクトの全滅を引き起こす可能性がある。
0065名無しさん@1周年
垢版 |
2020/02/06(木) 14:09:19.74ID:jvjKDXyq0
ただのクォートのミス
0067名無しさん@1周年
垢版 |
2020/02/06(木) 14:33:15.55ID:7aHpgoLt0
なんで実験のことプルリク送るときにかかずに後出ししたんだろ
0068名無しさん@1周年
垢版 |
2020/02/06(木) 14:48:48.98ID:7aHpgoLt0
記事と実績の温度差が大きすぎる
しかも、一年以上前のだし
0069名無しさん@1周年
垢版 |
2020/02/06(木) 14:52:35.10ID:YjnzlBpk0
共産党AIがバックドアを仕込んでいくんじゃないの?
0070名無しさん@1周年
垢版 |
2020/02/06(木) 15:24:25.10ID:xRq45gJC0
flashはこいつに任せられねえかな
0071名無しさん@1周年
垢版 |
2020/02/06(木) 15:24:48.99ID:MlCDwUiT0
簡単な不具合ならともかく
コレは絶対に無理
断言できる
0072名無しさん@1周年
垢版 |
2020/02/06(木) 15:28:13.62ID:JZW9GVSV
>>1
つまり・・・

「人間に絶対服従」

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

「人間を絶対服従」

こうか!!
0073名無しさん@1周年
垢版 |
2020/02/06(木) 15:54:50.48ID:tskyX3ne0
>>4
矛盾したこと言いそう
人間が
0075名無しさん@1周年
垢版 |
2020/02/06(木) 17:09:37.59ID:AERnEc+80
リペアネーター「お?またバグめっけ、、あれ、、?このコードは自分にもあったような、、」

リペアネーター「俺はバグじゃない 俺はバグじゃない、、バグじゃないんだ、、」
0076名無しさん@1周年
垢版 |
2020/02/06(木) 17:33:32.77ID:GZKl4wav0
>>58
専用の質問言語QSLを定義する
0077名無しさん@1周年
垢版 |
2020/02/06(木) 17:37:40.42ID:GZKl4wav0
>>73
その場合解釈可能な回答がえられるままで

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

などエラーを吐きながら無限待機
0078名無しさん@1周年
垢版 |
2020/02/06(木) 18:14:51.42ID:+k+j0sAP0
タイポだけいちいちPR投げてくるバカにイラッとしてたんだわ
こいつのおかげでイラつきはだいぶ軽減されそうだな
早よ使いたいわ
0080名無しさん@1周年
垢版 |
2020/02/06(木) 21:53:49.55ID:gaKpopVb0
飛鳥涼の思考を盗聴するのが本職だろ
0081名無しさん@1周年
垢版 |
2020/02/07(金) 07:48:34.55ID:IlIkvPCe0
>>79
プログラムソースを読ませると仕様書を出力してくれる、
というプログラムも有用そうだね。

プログラムが出したプログラムの仕様書をプログラマが読んで
「あれ?」と思った部分がプログラムミスってことで。
元の仕様で指定されるべきなのに漏れていた「あるべき動作」に
気付くヒントになるかも知れんし。
0082名無しさん@1周年
垢版 |
2020/02/07(金) 09:45:48.52ID:vZZv6lKS0
完璧な仕様書はプログラムと等価だと何度言えば…

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

完璧な仕様書とは、良いプログラマの行う後者の事象を、全て文字列化したものだ。
0083名無しさん@1周年
垢版 |
2020/02/07(金) 10:25:54.41ID:EcQQXP9l0
>>79
こうゆうの作って言うたら要件定義からプログラムまで全部こなすAI
近い将来実現するだろうな
0084名無しさん@1周年
垢版 |
2020/02/07(金) 10:26:55.08ID:dkPBryhy0
>>2
バグと誤読されるような仕様は淘汰されて
美しいコードだけが残れば良い
0085名無しさん@1周年
垢版 |
2020/02/07(金) 10:32:14.09ID:/ZSe+4mF0
なんか昔あったな。
自動プログラミングを実現するために仕様を厳密に記載するための言語を定義して仕様を書いたらプログラムが出来上がったという話が。
0086名無しさん@1周年
垢版 |
2020/02/07(金) 11:36:27.98ID:y4VW31qh0
>>85
富士通辺りがやってたね。
特殊な書き方を覚えなきゃいけなくて、不評だったとか聞いたことがある。

今ならもう少し自然語で書いても解釈してくれそうだね。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況