圖書簡介
程式設計缺陷分析與實踐
作 者:尹浩,於秀山 著
叢 書 名:
出 版 社: 電子工業出版社
ISBN:9787121129698
出版時間:2011-03-01
版 次:1
頁 數:264
裝 幀:平裝
開 本:16開
所屬分類:圖書 > 計算機與網際網路 > 程式語言與程式設計
內容簡介
代碼缺陷源自程序設計,《程式設計缺陷分析與實踐》結合作者多年軟體測試經驗,重點歸納總結了cc++和java語言在程式設計方面存在的鮮為人知的各種缺陷,以期為軟體設計人員和測試人員提供有益借鑑。
《程式設計缺陷分析與實踐》共5章2個附錄,分別介紹了程式設計缺陷靜態分析方法、cc++語言程式設計缺陷分析、java語言程式設計缺陷分析、軟體質量靜態度量以及靜態測試工具使用實踐。重點介紹了cc++語言程式在編碼風格、記憶體管理、緩衝區使用、指針以及安全等方面存在的典型缺陷,並結合實例對每種缺陷進行了分析,同時給出了缺陷修改方法。
《程式設計缺陷分析與實踐》既是一本程式設計方面的高級教程,同時也是一本軟體靜態測試方面的教程,可作為高等院校計算機相關專業高級程式設計及軟體測試課程教材,也可供軟體開發工程師、測試工程師、測試經理等人員參閱。
作者簡介
於秀山,男,1962年12月出生,山東棲霞人,博士。現為總參第六十一研究所博士後,高級工程師,解放軍南京理工大學碩士研究生導師,總參通信部科技創新工作站進站人員。.
自1998年從事軟體測試工作以來,完成了多項軍隊軟體測試方面的科研項目,承擔了多項大型軟體項目的測試工作,獲軍隊科技進步二等獎1項,三等獎1項;獲人防科技進步二等獎1項,三等獎1項。發表論文20篇,出版譯著13部。
2004年8月至2005年8月在加拿大渥太華大學貝爾實驗室工作,研究方向為軟體測試和軟體質量保證。
前言
言及程式設計,很多讀者並不陌生,並自認為是程式設計方面的高手,但當您讀完此書後,除了完全外行和真正的編程高手外,您一定會感到驚訝:原來我設計的程式包含如此多的缺陷!
程式缺陷的存在使軟體經常出現這樣或那樣的問題,影響了軟體的正常使用,甚至危及人類生命和財產安全。自從軟體危機爆發以來,廣大軟體從業人員就開始苦苦尋求如何提高軟體質量的靈丹妙藥,開出了許多有效的良方,然而,由於缺陷的多樣性和隱蔽性,許多看似正常的程式其實隱藏著巨大的隱患,如何找出並避免這些缺陷是軟體開發人員和測試人員面臨的一個嚴峻挑戰。
本書從程式設計缺陷的角度入手,結合作者多年從事軟體測試的經驗,將測試中發現的鮮為人知的軟體問題進行了歸納整理,以期對讀者能有所裨益。
本書共分5章,各章主要內容如下。
第1章從靜態測試的角度,介紹了程式設計缺陷靜態分析常用的文檔審查、代碼審查、技術評審以及代碼走查方法,並對部分方法進行了比較;
第2章和第3章是本書的重點內容,詳細闡述了C/C++、Java語言程式在編碼風格、記憶體管理、緩衝區使用、指針、代碼安全等方面存在的典型缺陷。通過實例,對每一種缺陷進行了分析,並給出了修改方法;
第4章介紹了軟體質量靜態度量方面的知識,給出了5種軟體質量模型;詳細闡述了Halstead度量、McCabe度量等軟體質量度量方法;
第5章結合測試實踐,介紹了PolySpace、Klockwork、Testbed、McCabe代碼靜態分析工具的功能及使用方法。
前車之鑑,後事之師,無論是軟體測試人員還是程式設計人員,只要您花點時間認真閱讀本書,將會受益匪淺。
在本書的編寫過程中,張旭輝、楊豹、李華瑩、胡兢玉、董昕、於長鉞同志參與了部分章節編寫工作,在此向他們表示衷心的感謝。
目錄
第1章 程式設計缺陷靜態分析
1.1 軟體測試分類
1.2 靜態分析方法
1.2.1 文檔審查
1.2.2 代碼審查
1.2.3 技術評審
1.2.4 代碼走查
1.2.5 評審類型比較
1.2.6 靜態分析的優點
第2章 c/c++語言程式設計缺陷分析
2.1 編碼風格
2.1.1 符號誤用問題
2.1.2 變數初始化問題
2.1.3 函式返回值問題
2.1.4 其他
2.2 記憶體管理
2.3 記憶體泄漏
2.4 緩衝區溢出
2.5 指針問題
2.5.1 空指針解引用
2.5.2 其他
2.6 安全缺陷
2.7 c++中和類有關的編程錯誤
2.8 其他
第3章 java語言程式設計缺陷分析
3.1 編碼風格
3.2 安全缺陷
第4章 軟體質量靜態度量
4.1 有關概念
4.2 軟體質量模型
4.2.1 mccall模型
4.2.2 boehm模型
4.2.3ISO9126模型
4.2.4 iso/iec 25010質量模型
4.2.5 關係模型
4.3 軟體質量靜態度量方法
4.3.1 軟體質量靜態度量簡介
4.3.2 原始碼行(loc)度量
4.3.3 halstead軟體科學度量
4.3.4 mccabe度量
4.3.5 henry & kafura 方法
4.3.6LCSAJ密度
4.3.7 c&k度量
4.3.8 mood度量
4.3.9 其他軟體質量度量
第5章 常用靜態分析工具與使用實踐
5.1 polyspace--運行時錯誤靜態檢查工具
5.1.1 polyspace verifier
5.1.2 polyspace viewer
5.2 klocwork--代碼靜態檢查工具
5.2.1 工程創建與分析
5.2.2 分析結果查看
5.3 testbed--靜態和動態測試工具
5.3.1 單個檔案分析
5.3.2 分析結果查看
5.3.3 多個檔案批量分析
5.4 mccabe iq2--軟體質量保證工具
5.4.1 mccabe eq
5.4.2 mccabe test
5.4.3 mccabe reengineer
附錄a 軟體需求規格說明審查單
附錄b 用戶手冊審查單
參考文獻