Also known as static code analysis, static analysis, static software analysis
在沒有實際執行程式的情況下進行程式分析
靜態程序分析(英語:Static program analysis)是指在不執行程序的條件下,進行程序分析的方法。有些程序分析需要在程序執行時才能進行,這種程序分析稱為。大部份的靜態程序分析的對象是針對特定版本的源代码,也有些靜態程序分析的對象是目标代码。靜態程序分析一詞多半是指配合靜態程序分析工具進行的分析,人工進行的分析一般稱為程式理解或代码审查。 靜態程序分析的複雜程度依所使用的工具而異,簡單的只考慮個別语句及声明的行為,複雜的可以分析程序的完整源代码。不同靜態程序分析技术对分析得到的資訊的用途也有所不同,簡單的可以是高亮标识可能存在的代碼錯誤(如lint),複雜的可以是形式化方法,也就是用數學的方式證明程式的某些行為符合其設計规约。 軟體度量和反向工程可以視為一種靜態程序分析的方式。在實務上,在定義所謂的軟體品質指標(software quality objectives)後,軟體度量的推導及程序分析常一起進行,在開發嵌入式系統時常會用這種方式進行。 靜態程序分析的商業用途可以用來驗證安全關鍵電腦系統中的軟體,並指出可能有计算机安全隐患的程式碼,這類的應用越來越多。例如以下的產業已確定用靜態程序分析作為提昇複雜軟體品質的方法: 1. * 醫療軟體:美國的美国食品药品监督管理局確定在醫療設備上使用靜態程序分析。 2. * 核能軟體:英國的建議針對的軟體進行靜態程序分析中。 在資訊安全的領域中,靜態程序分析會稱為靜態應用程式安全檢測(Static Application Security Testing,簡稱SAST)。
Abstract from DBpedia / Wikipedia · CC BY-SA
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).
via Wikidata sitelinks · CC0