enjoy Development

ソフトウェア開発プラットフォーム SOLID

SOLID-IDE
ARM コンパイラ6でも採用されている、
先進的なオープンソースソフトウエアである
LLVM/Clangコンパイラを採用しました。

LLVM/Clangコンパイラとは

SOLIDプラットフォームでは、静的解析ツール、動的解析ツール機能を豊富に備えたLLVM/Clangコンパイラを採用しています。LLVM/Clangは次世代のコンパイラとして、MacOS/iOS開発環境の標準コンパイラ、ARM Compiler 6、FreeBSDの標準コンパイラなど、多くの分野で標準的に利用されているオープンソースのコンパイラです。他のツールと連携して機能拡張が出来る点など、先進的なコンパイラとしての特長を備えています。
(当社のLLVM/Clangコンパイラへの取り組みについてはこちらのコラムでもご紹介しています)

静的解析機能

ビルド時に静的解析ツールとしてClangを使用することにより、「未初期化変数の利用」「メモリリーク(解放もれ)パスの検出」「戻り値が不定になるパスの検出」「代入されたがアクセスされない変数の検出」などが検出可能です。
静的解析機能

LLVM/Clangコンパイラとは

SOLIDでは動的解析機能の代表的なものとして、アドレスサニタイザ、メモリサニタイザ、スレッドサニタイザといったアクセス違反検出機能に重点をおいて、解析機能を盛り込んでいます。
アドレスサニタイザを例に挙げれば、バッファオーバーラン(配列)やヒープオーバーラン(malloc)の動的検出を、ユーザーがツールの詳細な設定をすることなく容易に検出出来るようにしています。動的解析機能を有効にするためには、コンパイラだけではなくRTOS側に動的解析を実現するための支援ライブラリが必要になるのですが、SOLIDにおいては必要な支援ライブラリを全て当社が開発してツールとして提供しているので、効率のよいデバッグが可能となります。
動的解析機能の例として、アドレスサニタイザについてはこちらでご紹介しています。

※本サイトに掲載されている製品の価格および仕様は、製造・販売会社が何ら債務を被ることなく、
予告なしに変更されることがあります。商品名、会社名等は一般に各社の商標または登録商標です。