嵌入式軟體靜態解析工具

fzm5298發表於2024-09-04

CasePlayer2 : 適用於嵌入式軟體的說明書製作及解析工具
靜態解析 C/C++ 原始碼自動生成流程圖等檔案
適用於各種嵌入式晶片用匯編程式碼
具有符合程式設計標準 MISRA-C 1998/2004 的規範檢查功能,Code Metrics 計測功能
適用於掌握以往程式的內容,審閱會議時評估程式等,有利於改善軟體質量的工具

產品概要

CasePlayer2 是透過解析 ANSI C 語言,C++,嵌入式 C 語言(非 ANSI),以及組合語言的原始碼,製作包括流程圖等的程式說明書的工具。不論是對以往的程式進行邏輯分析,還是為新開發的程式製作說明書,都提供了強有力的支援。作為程式靜態分析功能,包括外部變數參照/代入的列表功能,以及 C 語言的程式設計標準 [MISRA-C] 的規範檢查功能。

只需將程式登記,可以自動生成各種說明書

CasePlayer2 是透過分析 ANSI C 語言,C++,嵌入式 C 語言(非 ANSI),以及組合語言的原始碼,製作包括流程圖等程式說明書的逆向 CASE(computer aided software engineering tool)工具。應用 GAIO 的主要技術也就是編譯技術,不需要追加其他程式碼就可以解析程式碼構造,製作各種流程圖。而其他公司的 CASE 工具往往需要追加程式碼才能實現流程圖生成。而且,只需幾秒鐘就可以將數萬行 C 語言程式轉換成流程圖,具有引以為豪的壓倒性效能。

[製作的說明書]
・流程圖・模組(函式)說明書・模組結構圖・模組(函式)表・structure 說明書,structure 表

根據靜態解析功能,生成外部變數對照表,typedef 表,各種參照表

具有透過靜態分析製作外部變數表和外部變數對照情報表的功能。可以用來確認整個 Project 中的外部變數在那裡被參照,在那裡被寫入。也可以透過列表跳到相對應的程式碼所在行。能夠在早期發現不正確的寫入及讀取,發現那些意想不到的錯誤,擁有強有力的功能。
[根據靜態解析製作的說明書]
・外部變數表・typedef 表・#define 表・外部變數參照表・函式參照表・structure 參照表・structure 成員參照表

支援 ANSI C 語言,非 ANSI 嵌入式 C,嵌入式組合語言

[CasePlayer2] 也支援嵌入式彙編的原始碼。程式包 (Package) 提供了近 60 種微機的引數(parameter)檔案,幾乎覆蓋了目前使用的各種微機。即使需要對個別的微機或個別微機的機型增加新的命令語,使用者只要在引數檔案中增加新命令語的定義,就可以立即使用。
對於 C 語言程式碼,不僅支援 ANSI C 語言,也支援 #ifdef 這樣的設定編譯條件的預編(preprocessor)程式碼。另外,也支援使用 near,far 一類特殊程式碼的程式。

能夠設定最佳列印佈局避免不必要的用紙

不僅可以列印 Word 檔案,也能夠列印 HTML 檔案
[CasePlayer2] 提供流程圖列印的最佳化功能,避免列印不必要的空白浪費用紙。在列印佈局功能方面,相比其他公司的 CASE 工具有著壓倒性優勢。只需改變列印倍率,即可得到用紙最少,佈局最佳的列印。流程圖之外的說明書也可以用同樣的方法列印。另外,列印出的說明書還可以生成為 HTML,Word(doc)格式的檔案,生成比例可以自由設定。

具有 [MISRA-C] 的規範檢查功能,符合 MISRA-C1998、MISRA-C2004 標準

MISRA-C 是 MISRA(Motor Industry Software Reliability Association) 針對汽車工業領域的 C 語言軟體制定的標準。MISRA 是以汽車工業領域為中心有關軟體可靠性的非營利機構。最近,MISRA 也開始被汽車軟體以外的領域所採用。
[CasePlayer2] 包括符合 [MISRA-C] 標準的程式構造解析功能。GAIO 的程式碼解析技術是從開發編譯技術培養起來的,能夠發現不同使用者編寫的不同程式中的不符合規範的部分,同其他公司的規範檢查工具相比,CasePlayer2 以其解析的” 深度”,得到高度評價。檢查的規範專案可以任意選擇。※MISRA 規範檢查功能不支援 C++。只有 Code Metrics 情報輸出功能支援 C++。
[主要功能]
●MISRA-C 1998 : 能夠對 127 項規範中的 124 項進行錯誤檢查
●MISRA-C 2004 : 能夠對 141 項規範中的 138 項進行錯誤檢查
●點選 HELP 可以閱覽規範解說,舉例說明容易理解(日語)
●對程式碼的測試,程式碼的重複使用,程式碼的維護有很高利用價值的 Code Metrics 測試
・路徑複雜度・Myer's Interval ・NET 深度・程式碼檔案的大小・註解(行數/比率)・靜態 pathcounter
CasePlayer2 應用例項
CasePlayer2 是可以隨時隨地將原始碼變換成視覺形象的流行圖的工具。可以在開發的各種環節靈活應用,例如原始碼的解析,程式說明書的製作等。

[A] 開發初期的基本設計及探討階段,需要對現有的原始碼進行調查解析
對現有原始碼,無論是資源中的原始碼還是其他工程師編寫的原始碼,都需要在短時間內理解它們的邏輯內容,確認將它們插入時需要的修改規定等事宜。模組結構圖以及流程圖能夠提供強有力的支援。CasePlayer2 具有在幾秒鐘轉換幾萬行的 C 語言程式的能力,可以即刻將程式碼變換成圖形,提高原始碼的解析效率。
[B] 程式程式設計後期的原始碼審閱會議,提高軟體質量
提高軟體質量首先要在開發團隊中展開互相審閱檢查,發現自己未能察覺的錯誤,總結提出更有效的程式設計方法。 可以隨時將原始碼變換成流程圖和模組結構圖,將情報視覺化,使在短時間內對程式碼做出明確的評價成為可能。
[C] 開發完成後的開發內容記錄,製作標準化程式說明書
書面化的開發內容將成為今後的重要資源。透過 CasePlayer2 能夠自動製作各種書面檔案。與手編寫相比,可以戲劇性的削減說明書製作工作。同時,不同於手編寫容易造成各自格式的不同,能夠製作統一格式統一編寫方法的說明書,為開發 project 的檔案格式通用化標準化提供有力的支援。
主要功能
●支援 C/C++ 言語(V5.0 之後)
●說明書的綜合化製作 [說明書瀏覽器]
・各種說明書之間任意移動(從各種參照表移動到相對照的原始碼的地方等)
●從程式自動生成各種說明書
・流程圖・模組說明書・模組結構圖・模組表
・structure 表・外部變數表・typedef 表・#define 表
・成員函式說明書・外部變數參照表・函式參照表・structure 參照表
・class 表 ・class 說明書・class 參照表・成員函式參照表(←V5.0 之後)
●ANSI C 言語、嵌入式 C 語言(非 ANSI)、以及彙編
●「MISRA-C」的規範檢查功能符合 MISRA-1998、MISRA-2004 標準
●說明書的 MS-Word 格式轉換功能
●任意設定縮小率,避免不必要的用紙,最佳佈局的列印功能
●HTML 格式變換功能
●印刷時格式佈局的客戶化功能
●目錄自動追加功能
●流程圖,模組結構圖的影像檔案(BMP,PNG)的輸出功能
動作環境
●操作 PC/OS
・IBM PC/AT 相容機
・Windows XP,Windows Vista, Windows 7(32bit)(※Windows 95/98/Me/NT/2000 未支援)
●License Key
・USB Board Hardware Key (Dongle)
●安裝需要的 HDD 容量
・最少 30MB 以上的容量
●需要的其他應用功能
・HTML 格式檔案閱讀:Microsoft Internet Explorer 5.5 以上
・MS-Word 格式檔案生成:Microsoft Word 2000 以上

相關文章