損害保険ジャパン(損保ジャパン)は、2021年3月に第1フェーズを稼働させた新基幹システム「SOMPO-MIRAI」の構築プロジェクトにおいて、ソースコードの不具合を検出する静的解析ツール「Coverity」を利用した。最大3000人の開発者が参加するシステムの全面刷新において、ソースコードの不具合を早期に検出し修正にかかる時間を短縮、ソースコードの品質確保を効率化した。Coverityを提供した日本シノプシスが2021年8月30日に発表した。
損保ジャパンは、基幹システムを約30年ぶりに刷新し、新システム「SOMPO-MIRAI」の第1期システムを2021年3月に稼働させた。2023年度以降、自動車保険や火災保険などのシステムを段階的に移行する(関連記事:Real Data Platformを基軸に次世代事業を創出─SOMPOホールディングスのデータドリブン経営)。
新システムは、Linux基盤とJava言語、APIなどのオープン系技術を採用して1から構築した。刷新プロジェクトは、2015年に開始した。プロジェクトの特徴として、ソースコードの不具合を検出するシノプシスの静的解析ツール「Coverity(コベリティ)」を利用したことを挙げている。
Coverityは、ソースコードに潜む不具合やセキュリティ上の脆弱性を、コーディング中に検出する静的解析ツールである。IDE(統合開発環境)のプラグインを介し、開発中のソースコードの不具合を検出する。
開発プロジェクトを推進したSOMPOシステムイノベーションズは次のように説明している。「ソースコードの品質を一定レベルまで引き上げるというCoverityの役割は、これまでの利用で果たした。これからは、保守段階でCoverityを活用できるように運用体制を構築する」。
開発初期からソースの静的解析で不具合を適宜修正
SOMPOシステムイノベーションズは、初期段階からCoverityを活用して随時不具合を検出し、適宜修正することで開発品質を高めた。
プロジェクトには、複数のパートナー企業から技術レベルが異なる開発者が参加していた。これに対し、Coverityで収集した解析結果のレポートを週次で共有し、ソースコードの品質やセキュアコーディングを均質化した。
また、使用言語を従来のCOBOLからJavaに変更するなか、Javaに不慣れな開発者に関しても、ソースコードの品質を定量的に評価できるようにした。
なお、静的解析ツールの課題は、不具合ではないものを不具合と判断する誤検知の多さによって開発者の生産性を落とすことである。これに対して、SOMPOシステムイノベーションズの検証では、Coverityの誤検知率は他社製品比で約半分で済んだ。一方、セキュリティ問題を含む重大な不具合の検出率は1.6倍高かった。