注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計軟件數(shù)據(jù)分析的科學(xué)與藝術(shù)

軟件數(shù)據(jù)分析的科學(xué)與藝術(shù)

軟件數(shù)據(jù)分析的科學(xué)與藝術(shù)

定 價:¥159.00

作 者: (美)克里斯蒂安·伯德,蒂姆·孟席斯
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111647607 出版時間: 2020-05-01 包裝: 平裝
開本: 16開 頁數(shù): 512 字?jǐn)?shù):  

內(nèi)容簡介

  本書深入探討了軟件數(shù)據(jù)分析的技術(shù)與藝術(shù),來自微軟、NASA等的多位軟件科學(xué)家和數(shù)據(jù)科學(xué)家分享了他們的實踐經(jīng)驗。書中內(nèi)容涵蓋安全數(shù)據(jù)分析、代碼審查、日志文檔、用戶監(jiān)控等,技術(shù)領(lǐng)域涉足共同修改分析、文本分析、主題分析以及概念分析等方面,還包括發(fā)布計劃和源代碼注釋分析等高級主題。通過閱讀本書,讀者將了解如何在工業(yè)領(lǐng)域和開源領(lǐng)域應(yīng)用數(shù)據(jù)分析,以及如何向利益相關(guān)者和決策者呈現(xiàn)數(shù)據(jù)分析結(jié)果。

作者簡介

暫缺《軟件數(shù)據(jù)分析的科學(xué)與藝術(shù)》作者簡介

圖書目錄

出版者的話
譯者序
本書作者
第1章 軟件數(shù)據(jù)分析的過去、現(xiàn)在與未來1
1.1 定義1
1.2 過去(起源)3
1.2.1 第一代:初步工作3
1.2.2 第二代:學(xué)術(shù)實驗4
1.2.3 第三代:工業(yè)實驗4
1.2.4 第四代:數(shù)據(jù)科學(xué)無處不在4
1.3 現(xiàn)狀5
1.4 結(jié)論8
致謝8
參考文獻(xiàn)9
第一部分 技術(shù)教程
第2章 利用形式概念分析挖掘模式及其違約12
2.1 引言12
2.2 模式和塊13
2.3 計算所有塊15
2.4 使用Colibri挖掘購物車17
2.5 違約19
2.6 查找違約20
2.7 是兩種模式還是一種違約?21
2.8 性能22
2.9 編碼順序23
2.10 內(nèi)聯(lián)24
2.11 相關(guān)工作24
2.11.1 挖掘模式24
2.11.2 挖掘違約25
2.11.3 PR-Miner26
2.12 結(jié)論26
致謝27
參考文獻(xiàn)27
第3章 軟件項目中的文本分析29
3.1 引言29
3.2 軟件項目的文本數(shù)據(jù)及其檢索29
3.2.1 文本數(shù)據(jù)29
3.2.2 文本檢索32
3.3 人工編碼33
3.3.1 編碼過程34
3.3.2 挑戰(zhàn)36
3.4 自動化分析37
3.4.1 主題建模37
3.4.2 詞性標(biāo)記和關(guān)系抽取38
3.4.3 n-gram模型39
3.4.4 克隆檢測40
3.4.5 可視化42
3.5 兩個工業(yè)案例44
3.5.1 需求工程的痛點:需求工程調(diào)查45
3.5.2 需求規(guī)約中的克隆檢測49
3.6 結(jié)論52
參考文獻(xiàn)52
第4章 從軟件開發(fā)制品中合成知識54
4.1 問題描述54
4.2 軟件制品生命周期模型54
4.2.1 示例:補(bǔ)丁生命周期55
4.2.2 模型抽取56
4.3 代碼評審56
4.3.1 Mozilla項目56
4.3.2 WebKit項目57
4.3.3 Blink項目57
4.4 生命周期分析57
4.4.1 Mozilla Firefox項目57
4.4.2 WebKit項目60
4.4.3 Blink項目61
4.5 其他應(yīng)用62
4.6 結(jié)論62
參考文獻(xiàn)63
第5章 分析IDE使用型數(shù)據(jù)的實用指南64
5.1 引言64
5.2 使用型數(shù)據(jù)的研究概念65
5.2.1 使用型數(shù)據(jù)概念及其分析意義65
5.2.2 基于目標(biāo)選擇相關(guān)數(shù)據(jù)66
5.2.3 隱私問題66
5.2.4 研究范圍67
5.3 如何收集數(shù)據(jù)67
5.3.1 Eclipse使用型數(shù)據(jù)收集器68
5.3.2 Mylyn和Eclipse Mylyn Monitor75
5.3.3 CodingSpectator 77
5.3.4 為Visual Studio創(chuàng)建收集工具81
5.4 如何分析使用型數(shù)據(jù)87
5.4.1 數(shù)據(jù)匿名87
5.4.2 使用型數(shù)據(jù)的格式87
5.4.3 幅度分析88
5.4.4 分類分析88
5.4.5 序列分析89
5.4.6 狀態(tài)模型分析90
5.4.7 關(guān)鍵事件技術(shù)92
5.4.8 其他來源的數(shù)據(jù)93
5.5 使用型數(shù)據(jù)學(xué)習(xí)的局限性93
5.6 結(jié)論94
5.7 代碼清單95
致謝104
參考文獻(xiàn)104
第6章 隱含狄利克雷分布:從軟件工程數(shù)據(jù)中抽取主題106
6.1 引言106
6.2 LDA在軟件分析中的應(yīng)用107
6.3 LDA工作原理108
6.4 LDA教程110
6.4.1 LDA來源110
6.4.2 獲取軟件工程數(shù)據(jù)111
6.4.3 文本分析和數(shù)據(jù)轉(zhuǎn)換111
6.4.4 LDA應(yīng)用113
6.4.5 LDA輸出概要113
6.5 陷阱和有效性威脅117
6.5.1 標(biāo)準(zhǔn)有效性117
6.5.2 構(gòu)造有效性119
6.5.3 內(nèi)部有效性119
6.5.4 外部有效性120
6.5.5 可信性120
6.6 結(jié)論120
參考文獻(xiàn)121
第7章 分析產(chǎn)品和過程數(shù)據(jù)的工具與技術(shù)123
7.1 引言123
7.2 一種合理的分析流程124
7.2.1 獲取數(shù)據(jù)124
7.2.2 選擇數(shù)據(jù)125
7.2.3 處理數(shù)據(jù)126
7.2.4 匯總數(shù)據(jù)127
7.2.5 管道系統(tǒng)128
7.3 源代碼分析128
7.3.1 啟發(fā)式分析128
7.3.2 詞法分析129
7.3.3 語法和語義分析132
7.3.4 第三方工具132
7.4 編譯代碼分析137
7.4.1 匯編語言137
7.4.2 機(jī)器碼138
7.4.3 命名修飾處理140
7.4.4 字節(jié)碼140
7.4.5 動態(tài)鏈接141
7.4.6 庫142
7.5 配置管理數(shù)據(jù)分析144
7.5.1 獲取存儲庫數(shù)據(jù)144
7.5.2 分析元數(shù)據(jù)145
7.5.3 分析時間序列快照148
7.5.4 檢出庫分析150
7.5.5 結(jié)合文件與元數(shù)據(jù)分析151
7.5.6 組裝存儲庫152
7.6 數(shù)據(jù)可視化153
7.6.1 圖153
7.6.2 說明圖156
7.6.3 圖表157
7.6.4 地圖159
7.7 結(jié)論161
參考文獻(xiàn)161
第二部分 關(guān)注的數(shù)據(jù)和問題
第8章 安全數(shù)據(jù)分析166
8.1 漏洞166
8.2 安全性數(shù)據(jù)的注意事項167
8.2.1 注意事項1:有漏洞是正常的167
8.2.2 注意事項2:“更多的漏洞”并不總是意味著“更不安全”167
8.2.3 注意事項3:設(shè)計級別的缺陷通常不會被追蹤168
8.2.4 注意事項4:安全性是被消極定義的168
8.3 度量漏洞嚴(yán)重性169
8.3.1 CVSS概述169
8.3.2 CVSS應(yīng)用示例170
8.3.3 CVSS的隱患170
8.4 收集、分析漏洞數(shù)據(jù)的方法170
8.4.1 步驟1:追蹤漏洞從報告到修復(fù)的全過程171
8.4.2 步驟2:聚合源控制日志171
8.4.3 步驟3:確定漏洞覆蓋率172
8.4.4 步驟4:根據(jù)工程錯誤進(jìn)行分類173
8.5 安全數(shù)據(jù)所提供的信息174
8.5.1 漏洞的社會技術(shù)要素174
8.5.2 漏洞具有長期復(fù)雜的歷史175
8.6 結(jié)論176
參考文獻(xiàn)176
第9章 混合的挖掘代碼評審數(shù)據(jù)的方法:多次提交評審與拉取請求的示例與研究178
9.1 引言178
9.2 使用混合方法處理的動機(jī)178
9.3 評審過程和數(shù)據(jù)179
9.3.1 軟件審查179
9.3.2 OSS代碼評審179
9.3.3 微軟的代碼評審180
9.3.4 基于Google的Gerrit代碼評審180
9.3.5 GitHub中的拉取請求180
9.3.6 數(shù)據(jù)度量和屬性181
9.4 定量的可重現(xiàn)性分析:分支的代碼評審182
9.4.1 研究問題1:每次評審的提交183
9.4.2 研究問題2:提交的大小183
9.4.3 研究問題3:評審間隔184
9.4.4 研究問題4:評審者的參與過程184
9.4.5 小結(jié)185
9.5 定性分析方法186
9.5.1 采樣方法186
9.5.2 數(shù)據(jù)收集187
9.5.3 微軟數(shù)據(jù)的定性分析189
9.5.4 將扎根理論應(yīng)用于歸檔數(shù)據(jù)以理解OSS評審189
9.6 三角互證190
9.6.1 使用調(diào)查來三角互證定性結(jié)果191
9.6.2 Linux中多次提交的分支如何評審192
9.6.3 封閉式編碼:GitHub和Gerrit上的分支或修訂193
9.6.4 理解拉取請求為什么被拒絕193
9.7 結(jié)論194
參考文獻(xiàn)195
第10章 挖掘安卓應(yīng)用程序中的異常198
10.1 引言198
10.2 基于描述對應(yīng)用進(jìn)行聚類200
10.2.1 收集應(yīng)用程序200
10.2.2 基于NLP對描述進(jìn)行預(yù)處理201
10.2.3 基于LDA識別主題201
10.2.4 基于K-means算法對應(yīng)用進(jìn)行聚類203
10.2.5 找到最佳的集群數(shù)量203
10.2.6 生成的應(yīng)用程序集群204
10.3 通過API識別異常205
10.3.1 提取API的使用205
10.3.2 敏感和罕見的API206
10.3.3 基于距離的異常值檢測207
10.3.4 CHABADA作為惡意軟件檢測器208
10.4 實驗評估209
10.4.1 RQ1:異常檢測209
10.4.2 RQ2:特征選擇211
10.4.3 RQ3:惡意軟件檢測211
10.4.4 有效性的限制和威脅214
10.5 相關(guān)工作215
10.5.1 挖掘APP描述215
10.5.2 行為和描述不匹配215
10.5.3 檢測惡意應(yīng)用216
10.6 結(jié)論與展望216
致謝216
參考文獻(xiàn)216
第11章 軟件制品間的修改耦合:從歷史修改中學(xué)習(xí)219
11.1 引言219
11.2 修改耦合220
11.2.1 為什么制品要一起修改?220
11.2.2 使用修改耦合的好處221
11.3 修改耦合的識別方法222
11.3.1 原始計數(shù)222
11.3.2 關(guān)聯(lián)規(guī)則228
11.3.3 時間序列分析232
11.4 識別修改耦合的挑戰(zhàn)234
11.4.1 提交習(xí)慣的影響234
11.4.2 檢測修改耦合的實用建議235
11.4.3 其他方法237
11.5 修改耦合的應(yīng)用238
11.5.1 修改預(yù)測和修改影響分析238
11.5.2 設(shè)計缺陷的發(fā)現(xiàn)和重構(gòu)240
11.5.3 評估軟件體系架構(gòu)243
11.5.4 協(xié)作需求與社會技術(shù)的一致性243
11.6 結(jié)論244
參考文獻(xiàn)244
第三部分 實戰(zhàn)經(jīng)驗
第12章 軟件數(shù)據(jù)分析在工業(yè)實踐中的應(yīng)用:當(dāng)研究遇上實踐250
12.1 引言250
12.2 背景251
12.2.1 Fraunhofer在軟件度量方面的經(jīng)驗251
12.2.2 相關(guān)術(shù)語252
12.2.3 經(jīng)驗方法252
12.2.4 在實踐中應(yīng)用軟件度量—常規(guī)方法253
12.3 工業(yè)中實施度量方案的六個關(guān)鍵問題254
12.3.1 利益相關(guān)者、需求和規(guī)劃:成功度量方案的基礎(chǔ)254
12.3.2 度量收集:如何收集、何時收集、誰收集256
12.3.3 空有數(shù)據(jù),沒有信息:當(dāng)數(shù)據(jù)不是你所需要或期望的257
12.3.4 領(lǐng)域?qū)<业年P(guān)鍵作用259
12.3.5 順應(yīng)不斷變化的需求261
12.3.6 向用戶傳達(dá)分析結(jié)果的有效方法262
12.4 結(jié)論264
參考文獻(xiàn)265
第13章 在軟件工程中使用數(shù)據(jù)進(jìn)行決策:為軟件健康提供一種分析方法267
13.1 引言267
13.2 軟件工程度量簡史268
13.3 建立明確的目標(biāo)269
13.3.1 基準(zhǔn)270
13.3.2 產(chǎn)品目標(biāo)271
13.4 度量評審271
13.4.1 上下文度量273
13.4.2 約束性度量274
13.4.3 開發(fā)度量276
13.5 軟件項目數(shù)據(jù)分析面臨的挑戰(zhàn)278
13.5.1 數(shù)據(jù)收集278
13.5.2 數(shù)據(jù)解釋280
13.6 示例:通過數(shù)據(jù)的使用改變產(chǎn)品開發(fā)281
13.7 用數(shù)據(jù)驅(qū)動軟件工程過程284
參考文獻(xiàn)285
第14章 基于社區(qū)數(shù)據(jù)進(jìn)行開源軟件使用的風(fēng)險管理287
14.1 引言287
14.2 背景288
14.2.1 風(fēng)險和開源軟件的基本概念288
14.2.2 建模和分析技術(shù)290
14.3 OSS使用風(fēng)險管理的一種方法292
14.4 OSS社區(qū)結(jié)構(gòu)和行為分析:XWiki案例293
14.4.1 OSS社區(qū)的社交網(wǎng)絡(luò)分析294
14.4.2 軟件質(zhì)量、OSS社區(qū)行為和OSS項目的統(tǒng)計分析294
14.4.3 通過貝葉斯網(wǎng)絡(luò)評估風(fēng)險指標(biāo)298
14.4.4 基于模型對開源軟件生態(tài)系統(tǒng)建模和推理300
14.4.5 整合分析以進(jìn)行綜合風(fēng)險評估302
14.5 一個風(fēng)險評估的案例:Moodbile案例303
14.6 相關(guān)工作308
14.6.1 OSS社區(qū)的數(shù)據(jù)分析308
14.6.2 通過目標(biāo)導(dǎo)向技術(shù)進(jìn)行風(fēng)險建模和分析309
14.7 結(jié)論309
致謝310
參考文獻(xiàn)310
第15章 大型企業(yè)軟件狀態(tài)評估—12年歷程312
15.1 引言312
15.2 過程和評估的演變313
15.3 Avaya軟件狀態(tài)報告的影響315
15.4 評估方法和機(jī)制315
15.5 數(shù)據(jù)來源318
15.5.1 數(shù)據(jù)精度320
15.5.2 分析的數(shù)據(jù)類型321
15.6 分析示例321
15.6.1 人員分析322
15.6.2 可預(yù)測性分析324
15.6.3 風(fēng)險文件管理325
15.7 軟件開發(fā)實踐328
15.7.1 七個原始的關(guān)鍵軟件領(lǐng)域329
15.7.2 四個有代表性的跟蹤實踐330
15.7.3 實踐領(lǐng)域示例:設(shè)計質(zhì)量330
15.7.4 個體實踐的示例:靜態(tài)分析331
15.8 評估跟蹤:推薦和影響333
15.8.1 推薦示例334
15.8.2 推薦的部署335
15.9 評估的影響335
15.9.1 示例:自動化構(gòu)建管理335
15.9.2 示例:風(fēng)險文件管理的部署336
15.9.3 客戶質(zhì)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號