著者:
(1)Gaurav Kolhatkar、 SCTRのPune Institute of Computer Technology、プネ、インド([email protected])
(2)Akshit Madan、 SCTRのPune Institute of Computer Technology、インド、プネ([email protected])
(3)ニディ・コウタル、 SCTRのプネコンピュータテクノロジー研究所、インド、プネ([email protected])
(4)Satyajit Roy、 SCTRのPune Institute of Computer Technology、プネ、インド([email protected])。
概要— ユーザー エピックまたはストーリーを擬似コードまたはコードで適切に表現する変換は時間のかかる作業であり、産業プロジェクトで多くの時間を費やす可能性があります。この研究論文では、小さな機能の特定のアジャイル ユーザー ストーリーから擬似コードを生成し、産業プロジェクトに費やす全体的な時間を短縮する方法を提示することを目的としています。擬似コードは、コンピューター プログラムに含まれる手順をプログラミング言語に依存しない方法で表現したもので、任意のプログラミング言語に簡単に変換できます。自然言語処理の可能性を活用して、アジャイル ソフトウェア開発モデルを使用する組織の開発プロセスを簡素化したいと考えています。英語で記述された問題を擬似コードに変換する方法を提示します。この方法論では、テキストから擬似コードへの変換タスクを 2 つのステージまたはサブタスクに分割し、それぞれを個別の機械翻訳タスクのように扱います。ステージ 1 はテキストからコードへの変換、ステージ 2 はコードから擬似コードへの変換です。 CodeT5 モデルは、上記の 2 つのサブタスクを個別にトレーニングした場合、BLEU スコアの点で最高の結果をもたらすことがわかりました。BLEU スコアは、機械翻訳されたテキストと参照翻訳セット間の類似性を測定するために使用されるメトリックです。
索引用語— テキストからコードへの生成、コードから疑似コードへの生成、トランスフォーマー
現代の組織や企業では、仕事の効率が最も重要です。今日の職場の大半は、ソフトウェア開発にアジャイル モデルを使用しています。アジャイルは、タスクをより小さな反復またはスプリントに分割する反復開発に基づくソフトウェア開発アプローチです。アジャイルでは、Jira などのプロジェクト管理ツールを使用して、エピックまたはユーザー ストーリーの形式でユーザー要件を文書化します。開発者はこれらの要件を理解し、同じコードを記述する必要があります。ただし、コード/疑似コード生成のプロセスを自動化することで、特に以前に解決された単純な問題や反復的な問題の場合、開発時間と労力を大幅に節約できます。私たちの研究論文の目的は、開発者の作業を簡素化して、より複雑なタスクに集中できるようにし、その過程でソフトウェア開発ライフサイクルを最適化することです。
Jira は、問題追跡とプロジェクト管理に使用されるソフトウェア アプリケーションです。アジャイル開発チームでは、バグ、ストーリー、エピック、その他のタスクを追跡するために広く使用されています。エピックは、いくつかの小さなタスク (ストーリーと呼ばれる) に分割できる大規模な作業です。ストーリーは「ユーザー ストーリー」とも呼ばれ、エンド ユーザーの視点から記述された短い要件または要求です。私たちの目標は、エピック/ストーリーを疑似コードに変換することです。
アジャイル モデルの利点にもかかわらず、ソフトウェアの開発は、特にユーザー要件を機能コードに変換する場合、依然として困難で時間のかかるプロセスになる可能性があります。開発者は、このプロセスの一環として、ユーザーのエピックやストーリーを手動でコードに変換することが多く、これには多くの時間と労力がかかります。
私たちの研究は、この困難に対処するために、機械学習手法と自然言語処理を利用して、ユーザーストーリーからコードと疑似コードを生成するプロセスを自動化する可能性を調査することを目的としています。これにより、開発者のタスクを合理化し、ソフトウェア開発ライフサイクルを強化し、産業プロジェクト全体の効率を高めることを期待しています。
自然言語処理の分野における最近の進歩により、以前は手動で行っていたさまざまな操作を自動化することが可能になりました。特に、ディープラーニングの最近の進歩により、テキスト入力からコンテキストと意味を抽出できる高度な自然言語モデルを作成できるようになりました。これらのモデルを利用することで、ユーザーストーリーからコードまたは疑似コードを迅速かつ効率的に作成でき、開発者の負担を軽減できます。
私たちの研究では、ルールベースのシステム、統計モデル、ディープラーニング技術など、ユーザーストーリーからコードや疑似コードを生成するために現在使用されているさまざまな方法論を調査します。各方法論の利点と欠点を評価し、その利点を最大限に活用する新しい戦略を提案します。
全体として、私たちの研究論文は、ユーザー ストーリーからのコード/疑似コード生成プロセスを自動化することで、ソフトウェア開発をより効率的かつ効果的にすることを目的としています。これにより、開発者がより複雑なタスクに集中できるようになり、エラーのリスクが軽減され、最終的にはより優れたソフトウェア製品をユーザーに提供できるようになることを期待しています。
この論文はCC 4.0ライセンスの下でarxivで公開されています。