循環複雜度由程式的原始碼中量測線性獨立路徑的個數。此概念有些類似的量測文字複雜度的Flesch-Kincaid可讀性測試(英語:Flesch-KincaidReadabilityTest),不過方法不完全相同。
循環複雜度是由程式的控制流圖(英語:controlflowgraph)來計算:有向圖的節點對應程式中個別的程式碼,而若一個程式執行後會立刻執行另一程式碼,會有邊連結二程式碼對應的節點。圈複雜度可套用在程式的子程式、模組、方法或類別。
麥凱布首先提出一種稱為“基礎路徑測試”(BasisPathTesting)的軟體測試方式,是測試程式中的每一線性獨立路徑,此情形的測試用例個數即為程式的循環複雜度。
“循環複雜度”的名稱有時會讓人誤解,因為此複雜度不只計算程式中的循環(循環)個數。循環複雜度是指程式的控制流圖中,若將結束點到啟始點再增加一個邊時,控制流圖中的圈(幾個邊形成封閉路徑)的個數。
相關詞條
-
軟體複雜度
軟體複雜度遵守原則是簡單就是可靠,其複雜度在不斷變化。
基本概念 複雜度 種類 -
算法複雜度
算法複雜度是指算法在編寫成可執行程式後,運行時所需要的資源,資源包括時間資源和記憶體資源。套用於數學和計算機導論。
簡介 時間複雜度 空間複雜度 複雜度分析 -
偶然複雜度
偶然複雜度(Accidental complexity)是指計算機軟體開發過程中所引入不必要的複雜度。偶然複雜度不是待求解問題的本質,相對而言, 本質復...
定義 複雜度 軟體項目管理 反面模式 -
時間複雜度
時間複雜度是同一問題可用不同算法解決,而一個算法的質量優劣將影響到算法乃至程式的效率。算法分析的目的在於選擇合適算法和改進算法。 計算機科學中,算法的時...
定義 算法複雜度 時間複雜度 -
環形複雜度
環形複雜度是一種為程式邏輯複雜性提供定量測度的軟體度量,將該度量用於計算程式的基本的獨立路徑數目,為確保所有語句至少執行一次的測度數量的上界。
計算方法 環形複雜度的用途 -
循環神經網路
循環神經網路(Recurrent Neural Network, RNN)是一類以序列(sequence)數據為輸入,在序列的演進方向進行遞歸(recu...
歷史 結構 理論 算法 性質 -
循環卷積
循環卷積(circular convolution) 不同於線性卷積的一種卷積運算,是周期卷積的一種。
定義 線性卷積 循環卷積和線性卷積的關係 意義 -
燃氣發生器循環
燃氣發生器循環,(Gas-generator cycle)也叫開式循環,是雙元液體推進劑火箭發動機的動力循環的一種。一小部分推進劑在燃氣發生器中燃燒,產...
簡介 膨脹循環 擠壓循環 分級燃燒循環 發動機例子 -
價值循環流量圖
人類的一切活動(經濟活動、政治活動與文化活動)在本質上都是價值的運動,都是各種不同形式的價值不斷轉化、不斷循環、不斷增值的過程。這種價值運動具體表現為:...
價值循環流量圖 消費階段:使用價值向勞動潛能轉化 消費效益