ソフトウェア エンジニアは、コーディングだけでなく、同僚との情報の交換や共同作業に多くの時間を費やします。ソフトウェアエンジニアリング分野での共同作業は、通信エンジン、課題トラッカー、コードレビュープラットフォームなどの特殊なツールにますます依存しています。
インテリジェントコラボレーションツールラボは、ソフトウェアエンジニアリングやその他のクリエイティブ産業におけるコラボレーションプロセスをより深く理解し、共同作業のためのツールサポートに対する新しいアプローチを考案することに取り組んでいます。
共同開発活動のトレースは、開発プロセスをサポートするために使用できる情報に富んだデータの源です。開発履歴から有益な情報を引き出すため、レコメンドシステム、専門知識のモデリング、解析エンジン、および質疑応答技術などのアプローチに取り組んでいます。
コード変更の解析と開発者のやり取り履歴を根拠とするスマートな機能を備えたコードレビューツールの改善に取り組んでいます。
大規模なメッセンジャーワークスペースでのナレッジの収集と検索機能をサポートする技術とツールを構築しています。これにはレコメンドシステムや質疑応答技術が含まれます。
ソフトウェアエンジニアの共同作業における問題を体系的に調査し、ツールを使用してこれらの課題に対処可能な方法を研究しています。このプロセスによって情報を得られます。
確立されたテスト生成手法とクラッシュの再現手法を実際のソフトウェアエンジニアリングツールと環境に適用し、これらのタスクに対して大規模な言語モデルを利用する方法を調査しています。
独自のプロジェクトと他者のプロジェクトの興味深い結果を紹介するオープンセミナーとリーディングクラブミーティングを開催しています。
ミートアップグループに参加すると、今後のセッションに関する情報を入手できます。
講演をご希望ですか?Vladimir までメールでお問い合わせください。
ASE 2023、ルクセンブルク
バス係数(BF)とはプロジェクト内の知識の共有状況を追跡する指標です。エンジニアが抜けることでプロジェクトの破綻を招く最低人数を表します。バス係数の計算にはさまざまなアルゴリズムがあるのは確かですが、Git ベースのプロバイダーにホストされるプロジェクトのバス係数を簡単にはじき出し、結果を便利に解析できるツールはわずかです。
Bus Factor Explorer をご紹介します。ツリーマップ可視化、シミュレーションモード、およびチャートエディターを通じてバス係数指標を計算、エクスポート、および探索できるインターフェースと API を備えたウェブアプリケーションです。GitHub でホストされているリポジトリに対応し、インターフェースでのリポジトリの検索と複数リポジトリの同時処理を可能にします。このツールを使って VCS 履歴を解析することで、開発者の入れ替えが発生した場合に作業が滞るリスクのあるファイルとサブシステムを特定できます。
アプリケーションとソースコードは GitHub の https://github.com/JetBrains-Research/bus-factor-explorer で公開されています。デモ動画を YouTube でご覧ください: https://youtu.be/uIoV79N14z8
EASE 2023、オウル、フィンランド
一般的に利用されているモダンなコードレビューツール(Gerrit、GitHub など)では、コードレビュー用のファイルがアルファベット順に並べ替えられています。(オープンソースプロジェクトに関する)過去の調査では、変更されたファイルがコードレビューでどの位置にあるかによってレビュープロセスに影響があることが示されています。下の方に並んでいるファイルは他のファイルよりもレビューされる可能性が低いという結果です。そのため、このようなファイルの欠陥は見落とされる確率が高くなります。この論文では有名な業界プロジェクトである IntelliJ IDEA のコードレビューにおけるファイル順序の影響が詳しく調査されています。まずは独自の大型ソフトウェアプロジェクトに関する過去の調査結果を検証しています。その後、デフォルトのアルファベット順ではなく、コードの差分に従って変更ファイルを並べ替える方法を調査しています。その結果、過去の調査の考察が裏付けられました。レビュー担当者はコードレビューで上の方に表示されるファイルにより多くのコメントを残すことが分かったのです。さらに、コードレビューでレビューにより多くの労力が必要とされる問題のあるファイルの配置に関しては、データがアルファベット順に偏っている場合でもコード差分に従った変更ファイルの並べ替えの方が標準的なアルファベット順よりもパフォーマンスが高いことがこの結果から分かりました。この結果から、コードレビューのさまざまな並べ替え戦略をさらに詳しく調査する必要があることが裏付けられました。