導入事例:京都マイクロコンピュータ株式会社 様

LLVM/Clangベースコンパイラの品質に客観的なエビデンスを

社内テストと第三者評価の両輪で、顧客に安心を提供
開発プラットフォーム「SOLID」のコンパイラを評価

User Profile:

京都マイクロコンピュータ株式会社 様

https://www.kmckk.co.jp/

京都マイクロコンピュータ株式会社は、1985年創業。組込みシステム開発支援ツールの専門メーカーです。JTAG-ICEを軸としたデバッグ、解析ツール、OSSをベースにしたコンパイラ製品、そしてOSSのRTOSを含む開発プラットフォーム「SOLID」を中心に、組込みシステムの開発現場で広く利用されています。

オープンソースコンパイラを現場で使いやすく

京都マイクロコンピュータは、オープンソースに積極的に取り組んできた歴史があります。きっかけは、GCCというオープンソースコンパイラでした。創業社長であった山本彰一氏は、その技術に強く惹かれたのです。当時、Linuxで使うものとされていたGCCを、社内向けのプロダクト開発に活用しながら、Windowsで使える組込み開発用のコンパイラへと育てていきました。

同社は1995年、社内で積み上げてきた成果をコンパイラ製品「exeGCC」として発売しました。この製品は、当時の同社にとって、ハードウェア、デバッガと並ぶ事業の柱の一つとなりました。

2000年代に入ると、次世代のコンパイラLLVM/Clangが登場しました。GCCとは異なる設計思想を持ち、将来性が期待されていたLLVM/Clangを、同社は当初から注目していました。東京オフィス ゼネラルマネージャの辻邦彦氏は「『次に取り組むのはこれだろう』と思っていました。オープンソースへの取り組みは、われわれの中では当たり前のことになっていたのです」と振り返ります。

京都マイクロコンピュータ株式会社 
東京オフィス ゼネラルマネージャ 辻 邦彦 氏

2017年、同社は、リアルタイムOSとWindows上で動作する統合開発環境を一体化した開発プラットフォーム「SOLID」の販売を開始。コンパイラはexeGCCをベースに、ライブラリをオープンソースOS(NetBSD)のlibcベースに刷新して標準準拠度を高めました。また、ライブラリはGCCベースのままClangコンパイラにも対応して、異なる2種類のコンパイラを使用できることもSOLIDの強みの一つとなりました。その後、GCC由来のGPLソースコードを一切使用しない、ピュアLLVMのコンパイラツールチェーン「exeClang」を開発して、現在に至ります。

品質をどう担保するか

SOLIDは、発売当初から革新的な開発プラットフォームとして組込み業界の注目を集めました。現在も、オープンソースの命令セットアーキテクチャであるRISC-Vにいち早く対応するなど、最新の技術を取り入れる姿勢も高く評価されています。

その一方で、日本市場において、高い品質要求が求められる製造業を中心にオープンソースに懐疑的な考えも少なからずあります。「どんなテストが行われているのか、そのエビデンスは何があるのかなど、コンパイラの信頼性や品質についてお客様から質問されることは少なくありません」と辻氏。

そこで同社は、コンパイラ製品の品質を担保するため、商用のコンパイラテストスイートを導入。テストスイートで繰り返しテストを行うことで、品質への自信を深めることができました。

しかし、開発現場に課題がなかったわけではありません。コンパイラ開発主担当である開発部の若槻俊宏氏はこう話します。「テストが通らなかったとき、テスト環境や実施方法の問題なのか、真に製品の不具合なのか、テスト自体の不具合なのか、原因の切り分けが難しいケースが多々あります。また、不具合であることが確定した後も、本製品のユースケースにおいて実害があって修正するべきなのか(仕様的には正しくないものの、長年多くのオープンソースコンパイラで様々な理由により保留されている不具合が多々あります)、あるいは制限事項で十分なのかなど、判断は多岐に渡ります。都度テストスイートのベンダーに問い合わせるわけにもいかず、対応に時間を取られることもありました」。

京都マイクロコンピュータ株式会社 
開発部 若槻 俊宏 氏

お客様と接している辻氏には、また別の課題がありました。「製品の品質に自信はありますが、その自信を裏付ける客観的なエビデンスが必要だと思っていました」。

コンパイラ評価サービスを採用

同社が白羽の矢を立てたのは、日本ノーベルのコンパイラ評価サービスでした。

コンパイラ評価サービスとは、組込み開発に用いられるC/C++言語のコンパイラ自体の品質妥当性を評価する第三者検証です。テストケースは随時追加・更新を繰り返しており、現在では世界最大規模の90万ケース/3.8億ステップに上ります。コンパイラ評価を請負サービスとして提供しているのは、国内では日本ノーベルのみです。

採用の是非を判断するために辻氏は、さまざまなコンパイラテストを経験している人たちから話を聞くなど、情報を収集したといいます。「相当なノウハウが蓄積されていると思われましたし、利用経験者も高く評価していました。実際に日本ノーベルに相談したときには、最新規格も含めてテスト範囲の選択肢を提示され、継続的にアップデートしていることも分かりました。テスト基盤や運用に関して不安はありませんでした」(辻氏)。

こうして、同社は日本ノーベルのコンパイラ評価サービスを採用したのです。

手離れの良さ、レポートの丁寧さ

一方、開発者の若槻氏は、コンパイラ評価サービスを利用することで自身の仕事が増えることを懸念していました。テスト環境の構築などに何度もやり取りが発生し、多大な時間と工数がかかることをイメージしていたからです。

実際に始まってみると、懸念は払拭されました。必要な情報を一式送った後、日本ノーベルから問い合わせがあったのは、ほぼ評価が終わった段階。その数個の問い合わせに回答しただけで、最終レポートが届いたのです。「拍子抜けするほど手離れが良くて、良い意味で驚きました。レポートの内容は詳細でしたし、それぞれの評価についてこちらから質問できる点も大きな価値だと感じました。厳密で丁寧なコメントもあり、細部まで目を配ってくれていることも分かりました」と若槻氏。

辻氏も「テストの結果そのものに責任を持っていただけることは、自分たちだけで行うテストとは圧倒的に違います。われわれでかなり手を加えているライブラリについても、中身を見て評価してもらえたことは大きな安心材料となりました」と話します。

コンパイラ評価の結果は非常に良好。同社は、製品に対する自信をさらに深めると同時に、品質の客観的なエビデンスを得ることができ、オープンソースに対して抵抗感のあるお客様にも安心して使っていただける確かな裏付けとなりました。今後も、開発現場でのテストを充実させながら、リリース前など節目の第三者評価を続けていきたいと考えています。

enjoy Development

評価サービスの活用は、次の展開へと広がりつつあります。「特定デバイスと組み合わせてコンパイラの評価をしたいというお客様もおられます。評価する環境を指定してお願いできる柔軟性も、サービスとして提供されるからこその良さだと思います」と辻氏は話します。

また同社には、産業機器や医療分野から機能安全に関する相談も寄せられています。日本ノーベルから提出されるレポートは、機能安全認証が求めるエビデンスとして通用するため、顧客にも提案していきたいと考えています。

京都マイクロコンピュータ株式会社は、2025年10月からイーソルグループの一員となりました。現在、開発者支援分野の強化に向けて、グループとしての取り組みが進められています。SOLIDが掲げるコンセプトは「enjoy Development」。より効率的に、創造的に、そして楽しく開発できる環境を提供したい――この同社の思いは、未来へとつながっていきます。

京都マイクロコンピュータ株式会社の
リアルタイムOSベースの組込みソフトウェア開発プラットフォーム「SOLID」