AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

https://mp.weixin.qq.com/s/y0KXKPG47wVkCPQS_y8Xmg

By 超神经

著名的游戏研发公司育碧( Ubisoft )和开源技术大厂 Mozila 近期发布了联手开发的 Clever-Commit 编程辅助工具,为工程师提供 Bug 预警和更正的功能。 

「Pythonの作成を支援することは、プログラマーに代わるAIの最初のステップにすぎない」という記事をかつて公開し、エンジニアがコードの品質と作業効率を向上させるのに役立つコードを作成するプロセスにAIツールを導入しています。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です
Pythonの作成を支援することは、プログラマーを置き換えるAIの最初のステップにすぎません(写真をクリックして読む)

たとえば、GitHub CEOが投資したKiteは、現在の本番環境に応じて、コードスニペット補完、関数呼び出し、ドキュメントデモクエリの機能をインテリジェントに実行できます。KiteがかつてAIの野望をあざ笑ったのは、人間と手を結ぶだけでなく、最終的にはエンジニアの機能を置き換えるためでした。
もちろん、これは単なる冗談ですが、現時点では、AIが完全に職人に取って代わりたいとは思われません。将来的には、エンジニアがより効率的かつ高品質で作業できるようにするためのAIの介入が増えるでしょう。
AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です
コードが実行できないことがわかったとき

最近、MozilaとUbisoftが共同で開発したAIコーディングアシスタントであるClever-Commitが登場しました。その役割は、Firefoxの背後にいるエンジニアをバグから救うことです。2月12日、MozilaはUbisoftと協力してこのツールの使用を開始するというメッセージを発行しました。これにより、より効率的なコードの作成が促進され、Firefoxユーザーのブラウジングエクスペリエンスが向上しました。

賢いコミット:高エネルギーのバグの早期警告!

Clever-Commitの前身は、昨年Ubisoftが立ち上げたCommit-Assistantです。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です
Commit-Assistantは、バグを見つけて修正を提案するためのシステムであり、開発者がゲーム体験を向上させるのを支援するコードアシスタントです。このAIアシスタントの誕生は、その巨大なコードベースによるものです。トレーニング中に、バグによって変更された多くのコードを含むUbisoftの作業コードを約10年間受け入れたと言われています。

この文脈で、MozliaとUbisoftは協力して、Clever-Commitのアップグレードバージョンを立ち上げました。

Clever-Commitは補助的なプログラミングツールであり、単にコードをチェックするAIアシスタントと言えます。開発者がコードの変更をFirefoxコードベースに送信すると、新しく追加されたコードを以前のコードと比較して、見つかったバグに類似しているかどうかを確認できます。新しく提出された部分が疑わしいとアシスタントが判断すると、開発者に警告します。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

アシスタントの判断が正確であれば、ソースリポジトリに送信する前にバグを見つけて警告できることを意味します。一部のバグについては、Clever-Commitは適切な修正を提案することもできます。

Mozillaは、最初にコードレビュー中にClever-Commitを使用し、それを時間の経過とともに他の開発段階に拡張する予定です。これは、MozillaがFirefoxで使用する3つの言語(C ++、JavaScript、Rust)に完全に適用できることは言及に値します。

バグを発見する原理は何ですか?

実際、その外観は避けられず、障害の自動防止と解決はソフトウェア開発にとって避けられない方法です。既存の方法では、コードとプロセス測定を使用して測定ベースのモデルを構築します。これにより、ソフトウェアプロジェクトへの欠陥の挿入を効果的に防止できます。

ここで使用されている技術はCLEVERと呼ばれ、UbisoftとConcordia Universityの研究者によって最初に開発されました。彼らはかつて論文「CLEVER:Combining Code Metrics with Clone Detection for Just-In-Time Fault Prevention and Resolution」を書いたことがあります。 「大規模産業プロジェクト」では、その詳細を説明しました。一般に、バグ防止と解決技術を組み合わせたレベルです。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です
記事のアドレス:https : //montreal.ubisoft.com/wp-content/uploads/2018/05/ICSE-CE-MSR-165.pdf

その主なポイントは、コードを傍受または修復するために、コードを追加するときに危険な部分であるかどうかを正確に判断することです。

実装方法には主に2つの段階があります。1つ目は、新しく追加されたコードが危険なコードに類似しているかどうかを判断できる既存のインジケーターに基づいてライブラリを構築することです。2つ目は、これらのコードクローン領域にこれらの危険そうに見える要素を追加します。そして、それがリスクコードであるかどうかを判断します。
AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です
AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

さらに、CLEVERは現在のプロジェクトを評価するだけでなく、他の関連プロジェクトも検討するため、より高いインテリジェンスを実現します。コードベースのマッチングと以前のデータの蓄積に基づくと、CLEVERは、バグの認識率と改善の提案の点でトップレベルです。

UbisoftとFirefox間の国境を越えた協力

CLEVERが非常に強力である理由といえば、それはその強力なリソースによるものです。Ubisoftは、高予算のビデオゲームの設計と実装を専門とする、ビデオゲーム業界の巨人です。
AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

Ubisoftソフトウェアシステムは高度に結合され、数百万のファイルと提出物が含まれ、6つの大陸の29の場所で8,000人以上の開発者によって開発および保守されています。これは、CLEVERの開発とトレーニングのユニークな利点です。

CLEVERのパフォーマンスを比較するために、彼らは12のUbisoftシステムでテストを実施しました。その結果、CLEVERはリスクの高いコードの提出で79%の精度と65%の再現率を達成し、同様の方法Commit-guru(66%の精度)を超えました。また、63%がパフォーマンス)を示しています。さらに、CLEVERは、危険な提出物の66.7%を修正する方法を開発者に推奨できます。

CLEVERテクノロジーを適用したClever-Commitは、Mozilla開発プロセスに完全に統合されると、良い結果が得られることが期待されています。これにより、開発者の負担も大幅に軽減されます。提出する前に、4つから5つの脆弱性をキャッチし、提出後に発見するよりも多くのリソースを節約してください。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

Firefoxのエンジニアリングチームは、コードの記述、テスト、リリースプロセス中にClever-Commitの使用を開始することを示しています。この方法により、数百時間に及ぶ脆弱性リスクの分析と検出を節約できると期待しています。

まだまだある?

機械学習を使用して、大規模なコードベースのバグをトラブルシューティングする他の試みがあります。

昨年、MicrosoftはVisual Studioで同様のツール、IntelliCodeを発表しました。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

IntelliCodeが最も人気のある公開GitHubリポジトリ(それぞれ2,000を超えるプロジェクト、それぞれが100を超える)を調査して、最良のコーディングプラクティスの特性を発見したと報告されています。

IntelliCodeの本来の目的はかなり保守的であり、他のプロジェクトが同じAPIをどのように使用するかに基づいて、よりスマートなIntelliSense完了提案を提供し、どの提案がより使用される可能性が高いかを理解します。また、コーディングスタイルとスペースの使用状況を検出するためにも使用されるため、コード作成スタイルと同様の方法でコードを作成できます。

Clever-Commitと同様に、IntelliCodeを使用してバグを見つけることができます。開発者の短期的なミスに対してタイムリーな救済策を提供します。

超神経百科事典

注意メカニズム

視覚的注意メカニズムは、人間の視覚に特有の脳信号処理メカニズムです。これは、人間が限られた注意リソースを使用して、大量の情報から価値の高い情報をすばやくスクリーニングする方法です。これは、人間の長期的な進化の中で形成される生存メカニズムです。人間の視覚注意メカニズムにより、視覚情報処理の効率と効率が大幅に向上しました。正確さ。

ディープラーニングの注意メカニズムは、人間の選択的な視覚的注意メカニズムと基本的に同じです。主要な目標は、多数の情報から現在のタスクの目標にとってより重要な情報を選択することです。

アテンションモデル(Attention Model)は、自然言語処理、画像認識、音声認識など、さまざまな種類のディープラーニングタスクで広く使用されています。これは、ディープラーニングテクノロジーのコアテクノロジーを最も深く理解し、理解する価値があるものの1つです。

AIは最上位ではなく、プログラマーと協力してコードを作成する正しい方法です

おすすめ

転載: blog.51cto.com/14929242/2535602
おすすめ