最終更新日:2019年6月28日
本プロジェクトでは、開発者が過去に行ったソースコード修正履歴に基づき、自動的にソースコードを修正または修正提案する開発支援システムを開発する。ソースコードの修正は、ソフトウェア開発全体で約半分の時間的コストがかかる。そこで本プロジェクトでは過去に行ったソースコードの修正を学習し、代行する開発支援システムを実現する。
本プロジェクト開始までに、GitHub上でコードレビューを行うボットを開発・公開しているが、本プロジェクトでは、開発者が行ったことのないソースコードの問題も修正できる開発支援システムを実現する。具体的には、GitHubを用いて公開されているソースコード修正履歴を利用し、多くの開発者が間違えやすいソースコードのパターンを収集し、修正を行う。
開発者の代わりにシステムが修正を行うことで、開発者はより創造的な開発業務に集中できる。修正履歴から、良いコード、悪いコードを特定することで、自動修正だけでなく実践的なコーディングガイドラインの作成やプログラミング教育にも貢献する。
ソフトウェア開発チームに新しいエンジニアが加わるとき、コーディング規約を徹底するために先輩によるコードレビューが非常に重要な時間を占める。本提案の開発支援システムでは、開発者がGitHub上で過去に修正したソースコードの履歴を元に、自動的にソースコードの修正提案をしてくれる。
日本のITシステムの開発現場では、2019年5月の新元号対応や、Pythonバージョン2からバージョン3への非互換な移行、Java 8のサポート終了に伴うEOL(End Of Life)対応などで、ソースコードを一律に修正する機会も発生する。従来のコードレビューでは、人手による作業で多くの時間と精神的コストがかかっており、この開発支援システムがあれば、人件費削減とシステムによるレビュー担保によって、開発者のQoL(Quality of Life)が向上し、結果的にソフトウェアの品質向上が期待できる。文法チェックのlintのように淡々とシステムのbotがコードの修正提案を指摘するようになれば、先輩による厳しいコードレビューで人間関係が荒れてしまうことを心配することがなくなり、開発者の精神衛生も保ちやすくなる。定型的な業務をなくしていき、エンジニアの開発者体験(DX:Developer eXperience)を向上させることは、ITシステム開発現場をデジタルトランスフォーメーション(DX:Digital Transformation)につながっていく。
実際の開発プロジェクトでレビューを行うことで品質を向上させ、適応対象となるプログラミング言語環境を増やしていき、プロジェクトのコーディング規約の自動作成プログラマのコーディングレベルの推定などに発展することを期待している。
2019年6月28日
2019年度採択プロジェクト概要(上田PJ)を掲載しました。