インテリジェントコラボレーションツールラボ

ソフトウェア エンジニアは、コーディングだけでなく、同僚との情報の交換や共同作業に多くの時間を費やします。ソフトウェアエンジニアリング分野での共同作業は、通信エンジン、課題トラッカー、コードレビュープラットフォームなどの特殊なツールにますます依存しています。

インテリジェントコラボレーションツールラボは、ソフトウェアエンジニアリングやその他のクリエイティブ産業におけるコラボレーションプロセスをより深く理解し、共同作業のためのツールサポートに対する新しいアプローチを考案することに取り組んでいます。

研究テーマ

開発トレースの解析

共同開発活動のトレースは、開発プロセスをサポートするために使用できる情報に富んだデータの源です。開発履歴から有益な情報を引き出すため、レコメンドシステム、専門知識のモデリング、解析エンジン、および質疑応答技術などのアプローチに取り組んでいます。

コードレビューの研究

コード変更の解析と開発者のやり取り履歴を根拠とするスマートな機能を備えたコードレビューツールの改善に取り組んでいます。

メッセージングのサポート

大規模なメッセンジャーワークスペースでのナレッジの収集と検索機能をサポートする技術とツールを構築しています。これにはレコメンドシステムや質疑応答技術が含まれます。

共同開発における問題

ソフトウェアエンジニアの共同作業における問題を体系的に調査し、ツールを使用してこれらの課題に対処可能な方法を研究しています。このプロセスによって情報を得られます。

テスト生成とクラッシュの再現

確立されたテスト生成手法とクラッシュの再現手法を実際のソフトウェアエンジニアリングツールと環境に適用し、これらのタスクに対して大規模な言語モデルを利用する方法を調査しています。

セミナー

独自のプロジェクトと他者のプロジェクトの興味深い結果を紹介するオープンセミナーとリーディングクラブミーティングを開催しています。

ミートアップグループに参加すると、今後のセッションに関する情報を入手できます。

講演をご希望ですか?Vladimir までメールでお問い合わせください。

出版物

2023 年 9月
Egor Klimov, Muhammad Umair Ahmed, Nikolai Sviridov, Pouria Derakhshanfar, Eray Tuzun, Vladimir Kovalenko

Bus Factor Explorer

ASE 2023、ルクセンブルク

バス係数(BF)とはプロジェクト内の知識の共有状況を追跡する指標です。エンジニアが抜けることでプロジェクトの破綻を招く最低人数を表します。バス係数の計算にはさまざまなアルゴリズムがあるのは確かですが、Git ベースのプロバイダーにホストされるプロジェクトのバス係数を簡単にはじき出し、結果を便利に解析できるツールはわずかです。

Bus Factor Explorer をご紹介します。ツリーマップ可視化、シミュレーションモード、およびチャートエディターを通じてバス係数指標を計算、エクスポート、および探索できるインターフェースと API を備えたウェブアプリケーションです。GitHub でホストされているリポジトリに対応し、インターフェースでのリポジトリの検索と複数リポジトリの同時処理を可能にします。このツールを使って VCS 履歴を解析することで、開発者の入れ替えが発生した場合に作業が滞るリスクのあるファイルとサブシステムを特定できます。

アプリケーションとソースコードは GitHub の https://github.com/JetBrains-Research/bus-factor-explorer で公開されています。デモ動画を YouTube でご覧ください: https://youtu.be/uIoV79N14z8

June 2023
Farid Bagirov, Pouria Derakshanfar, Alexey Kalina, Elena Kartysheva, Vladimir Kovalenko

Assessing the Impact of File Ordering Strategies on Code Review Process

EASE 2023、オウル、フィンランド

一般的に利用されているモダンなコードレビューツール(Gerrit、GitHub など)では、コードレビュー用のファイルがアルファベット順に並べ替えられています。(オープンソースプロジェクトに関する)過去の調査では、変更されたファイルがコードレビューでどの位置にあるかによってレビュープロセスに影響があることが示されています。下の方に並んでいるファイルは他のファイルよりもレビューされる可能性が低いという結果です。そのため、このようなファイルの欠陥は見落とされる確率が高くなります。この論文では有名な業界プロジェクトである IntelliJ IDEA のコードレビューにおけるファイル順序の影響が詳しく調査されています。まずは独自の大型ソフトウェアプロジェクトに関する過去の調査結果を検証しています。その後、デフォルトのアルファベット順ではなく、コードの差分に従って変更ファイルを並べ替える方法を調査しています。その結果、過去の調査の考察が裏付けられました。レビュー担当者はコードレビューで上の方に表示されるファイルにより多くのコメントを残すことが分かったのです。さらに、コードレビューでレビューにより多くの労力が必要とされる問題のあるファイルの配置に関しては、データがアルファベット順に偏っている場合でもコード差分に従った変更ファイルの並べ替えの方が標準的なアルファベット順よりもパフォーマンスが高いことがこの結果から分かりました。この結果から、コードレビューのさまざまな並べ替え戦略をさらに詳しく調査する必要があることが裏付けられました。

グループメンバー

Vladimir Kovalenko
リサーチラボ部長
Pouria Derakhshanfar
上級研究員
Farid Bagirov
研究員
Kirill Bochkarev
研究員
Mikhail Evtikhiev
研究員
Egor Klimov
研究員
Ekaterina Koshchenko
研究員
Elena Lyulina
研究員
Sergey Titov
研究員
Nikolai Sviridov
ソフトウェア開発者
Arkadii Sapozhnikov
ソフトウェア開発者
Vahid Haratian
インターン生
Ekaterina Itsenko
インターン生
Ekaterina Braun
インターン生
Evgeniia Kirillova
インターン生

過去のメンバー

Elgun Jabrayilzade
Erdem Tuna
ビルケント大学および Picus Security
Alexander Agroskin
ワイツマン科学研究所
Muhammad Umair Ahmed
Ruslan Salkaev