robot-1797548_1280

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

デバッグの理論と実践 ―なぜプログラムはうまく動かないのか
Andreas Zeller
オライリージャパン
売り上げランキング: 229,673