
指摘メッセージ表示機能
(画像をクリックで拡大 ▴)

ビューア機能
(画像をクリックで拡大 ▴)

指摘詳細機能
(画像をクリックで拡大 ▴)
本製品は、組み込みソフトウェア開発における品質・安全性向上を目的とした静的解析ツールです。
MISRA-CおよびCERT Cといった国際的なコーディング規約に対応し、未定義動作や実装依存の問題、セキュリティ上の脆弱性を自動検出します。開発者の手元でリアルタイムに問題を可視化することで、早期修正を促進し、手戻りの削減と開発効率の向上を実現します。
C/C++のソースプログラムを解析し、単純なコーディングミスから論理的な誤りまで的確に指摘します。また、不当なメモリーアクセス、メモリーリーク、誤ったメモリー開放や性能を悪化させる記述なども指摘します。
無駄な指摘を抑え、障害原因とはならない箇所については指摘しない工夫を施していますので、開発者に余分な負担を掛けません。
各指摘メッセージについてその意味や対処方法を例を交えて詳細に解説したドキュメントを用意していますので、指摘箇所の修正が容易です。
| 指摘種別 | C指摘数 | C++指摘数 |
|---|---|---|
| 合計 | 650 | 570 |
| 障害の可能性 | 162 | 140 |
| 移植性・保守性・可読性の向上 | 373 | 314 |
| 堅牢性(セキュリティ関連)の向上 | 63 | 57 |
| 効率性の向上 | 5 | 8 |
| 命名規約違反 | 5 | 5 |
| その他(構文の誤りなど) | 42 | 46 |
(注3) すべてのオプションを導入した場合の指摘数です。
<指摘観点>
CodeRelief は、指摘の「多重化」を実現。お客様の開発プログラムのさらなる品質向上に貢献します。
富士通の社内開発におけるバグ事例やDTSインサイトの社内開発におけるバグ事例など、開発者が陥りがちなパターンをデータベース化しチェックします。
ソースプログラムが、IPA/ESCRコーディング作法に沿って記述されているかどうかをチェックし、違反している記述箇所を指摘します。規約に準拠してコーディングを行うことにより、信頼性、移植性、保守性の向上を図ることができます。
ソースプログラムが、MISRA-C、MISRA-C++プログラミングガイドラインに沿って記述されているかどうかをチェックし、違反している記述箇所を指摘します。このガイドラインに沿ってソースプログラムを記述することにより、基本的なプログラム品質の底上げを図ることができます。「MISRA-C:2012 」のルールは、「MISRA-C:2012 Amendment1」も含め、すべてのルールにチェックできます。
ISO 26262で要求されている組織で定めた設計規則を判断するためのコーディングガイドライン(Part6-5)および不具合の混入を防止するためのコーディングガイドライン(Part6-8)の検証に活用できます。
CodeReliefでチェック可能な項目をまとめた資料をご希望の方は、お問い合わせフォームよりご連絡ください。
ソースプログラムが、CERT C コーディングスタンダード(以下、CERT C)に沿って記述されているかどうかをチェックし、違反している記述箇所を指摘します。
CERT Cは、ソフトウェア業界全般のセキュリティを確保するコーディングガイドラインです。
CodeReliefは、CERT Cの適用が先行している車載や電機業界のお客様からの要望が多いルールに対応しています。これにより開発現場で採用されているルールのほとんどが、目視ではなくCodeReliefで自動的にチェックできるため、漏れなく短時間で適合性評価が可能になります。
CodeReliefでチェックできるルール一覧をご希望の方は、お問い合わせフォームよりご連絡ください。
メモリーリークやバッファーオーバーランなどの重大な問題は、関数間に潜んでいる場合が多くあります。問題箇所の検出範囲を関数内から関数間に拡大し、重大な問題箇所を検出することができるフローティングライセンス版のオプション製品です。
たとえば、複数の開発者で分散開発を行っている場合、パラメーターで渡されたアドレスが「0でない」と信じてアクセスし、0番地参照となる危険性がありました。そこで、広域探索オプションを用いて、ソースプログラムを纏めて解析し、プログラム連結部分の品質を検証することをお奨め致します。

指摘メッセージ毎に、指摘位置からその原因となる問題箇所への経路情報を表示します。
使いやすいユーザーインターフェイスで、各種指摘の検証作業を効率よく行うことができます。 例えば指摘種別(信頼性、保守性、移植性、効率性)や指摘メッセージごとにフィルタリングを行い、着目したい指摘メッセージのみを表示させることなどが行えます。 また、検査指摘設定機能により、予め設定したグループや番号の指摘メッセージのみを出力することも可能です。該当するソース記述や指摘の意味、対処方法までを簡単操作で表示しますので、効率的に検証できます。



過去に検出されたチェック結果を、次回ソースコードのチェック時に、再検出されないよう抑止することが可能です。
プログラム記述の問題だけでなく、プログラムの制御構造の数などを計測することもできます。
この計測結果から「McCabeの複雑度」を計算し、プログラム開発の指標とすることにより、品質の高いソフトウェア開発を推進することができます。
コマンドラインでの解析が可能です。
個々のソースコードのチェック結果をプロジェクトや機能単位でまとめ上げ、全体品質をレポートとして生成します。
レポートされる問題箇所と改善方法より品質監査が確実に行え、的確かつ効果的な対策が行えます。
(日々の遷移や複数のプロジェクトを俯瞰して確認したい場合は、CodeReliefフローティングライセンス(C/C++解析込み)の「品質データ可視化」機能をご利用ください。)
Jenkinsプラグインを使用し、CI/CDパイプラインにCodeReliefを組み込むことができます。
短いサイクルで繰り返し実行することで、ソースコードの欠陥を早期に検出して修正することが可能です。
ソースコード変更のタイミングで自動的にソースコードをチェックすることにより、重大な欠陥を含んだソフトウェアがリリースされることを防ぎます。
Jenkins ならびにJenkins CIは、Jenkins(https://jenkins.io/)に帰属します。
(注) CI/CD(継続的インテグレーション/継続的デリバリー)とは、ビルド・テスト・デプロイなどの開発付帯作業を自動化することにより開発サイクルを速め、早い段階から頻繁に繰り返し実行することで問題を早期発見しトラブルを未然に防ぐ手法です。
メニューや指摘メッセージを日本語から英語に切り替えて利用できます。
また、各種説明書の英文ドキュメントをご用意しています。
(英語OS、日本語OS上でご利用いただけます)

CodeReliefは、今後も随時機能拡張・改善を行ってまいります。
お気づきの点やご要望がございましたら、ぜひお気軽にお知らせください。皆さまの声をもとに、より使いやすい製品へと進化させてまいります。