ospaf-开源项目成熟度分析工具
1.概述
? ?軟件成熟度評估的最終目標(biāo)是幫助軟件的可持續(xù)發(fā)展,并為用戶應(yīng)用提供必要的技術(shù)參考。開放源代碼軟件成熟度評估也不例外。我們通過軟件的成熟度評估,形成全面的涉及技術(shù)、應(yīng)用、法律等層面的評價報告,幫助那些正在或潛在的開源軟件使用者準(zhǔn)確的了解軟件的技術(shù)特性和應(yīng)用特性,從而為他們選擇適合自身需求的開源軟件提供參考。同時報告中涉及的大量評測數(shù)據(jù),為開源軟件的開發(fā)者提供幫助,促進他們有效的改善軟件在技術(shù)方面和使用方面的質(zhì)量,使軟件不斷成熟和可持續(xù)的發(fā)展。
? ?開放源代碼軟件由于開發(fā)模式和運作模式的獨特性,其軟件帶有鮮明的特點。開放源碼軟件成熟度評估的方法需要我們在實踐中不斷的探索。我們將提出一些基本的原則和方法,并建立我們自己的評估體系和計算模型。
2.項目分析
? ? ?
? ? ? 2.1 項目簡介
? ?Ospaf(open source project analyze framework)項目的發(fā)起是作為 CSDN 舉辦的 summer code 的項目之一。Ospaf 工具的主要功能是可以通過采集開源項目的相關(guān)數(shù)據(jù),通過機器學(xué)習(xí)的算法建立開源項目成熟度評估模型,從而實現(xiàn)對于開源項目的評估。
? ??
? ? ? 2.2 數(shù)據(jù)來源
? ? 目前世界上最火的項目托管網(wǎng)站是 github,ospaf 采用github 作為入手點。通過讀取 Ghtorrent 和 github-api 采集數(shù)據(jù)。同時 ohloh 也對開源項目進行分析并開放數(shù)據(jù),ospaf 的部分?jǐn)?shù)據(jù)采集自 ohloh。
??
? ? ? 2.3 數(shù)據(jù)挖掘
? ? ? ??
? ? ? ? ?2.3.1 特征值的提取
? ?
? ? Ospaf 項目的特征主要包括三個方面,分別是原始特征、衍生特征、抽象特征。
? ? 原始特征包含一些 github-api 提供的參數(shù),例如項目的star 數(shù)量和 fork 數(shù)量等。
? ? 衍生特征包括對原始特征進行處理產(chǎn)生的特征,比如提取任意相鄰兩個月的 star 數(shù)量的增長數(shù)做比值,可以得到star 的增長率作為特征。
? ? 抽象特征分為以下幾種類型。第一種,通過提取項目commit 語句中的高頻詞匯(包含 revert、update 等)作為特征。第二種,計算開源項目 contributor 中star-contributor 的比重。第三種,分析郵件列表等數(shù)據(jù)。
? ? ? ?
? ? ? ? 2.3.2 模型的建立
??
? ? Ospaf 項目模型的建立主要是通過機器學(xué)習(xí)算法來實現(xiàn)。第一步,去除噪音將數(shù)據(jù)庫中的數(shù)據(jù)按照高斯去噪法,將噪聲數(shù)據(jù)去除。第二步,歸一化處理因為建立模型用到了回歸算法,為了減小不同量綱特征對結(jié)果的影響,對所有特征進行歸一化處理。第三步,聚類產(chǎn)生目標(biāo)序列將公認(rèn)的比較成熟的開源項目的數(shù)據(jù)導(dǎo)入訓(xùn)練集并聚類分析,生成目標(biāo)序列。第四步,利用邏輯回歸生成數(shù)學(xué)模型利用邏輯回歸算法,對訓(xùn)練集進行訓(xùn)練,生成最終的數(shù)學(xué)模型。
? ? 2.4 項目創(chuàng)新點
? ?(1)以大數(shù)據(jù)為背景,利用機器學(xué)習(xí)算法進行開源項目評估的建模。目前,對開源項目的評估一般都是基于 KQI 指標(biāo)的用戶評價,例如 Ospaf 這種利用 KPI 指標(biāo)進行數(shù)學(xué)建模評估的案例仍不多見。
? ?(2)特征的多樣性,之前對一個開源項目的評價可能只是簡單地利用 star 數(shù)或是用戶打分的方式。Ospaf 在這些特征的基礎(chǔ)上,更添加了一些抽象特征,比如跟時間序列有關(guān)的一些增長率特征,用戶 commits 語句中提取的特征
? ?(3)可以根據(jù)用戶的需求進行評測。因為各個特征都是獨立的,所以可以通過改變特征的權(quán)重來對項目進行評測。比如用戶 A 需要用戶關(guān)注度高的項目,那么就可以相應(yīng)的提高用戶關(guān)注度方面的特征的權(quán)重。
3.項目流程圖
?
項目地址:
?csdn托管:https://code.csdn.net/davidmain/ospaf
?github托管:https://github.com/ospaf/ospaf-primary ?(跪求star)
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結(jié)
以上是生活随笔為你收集整理的ospaf-开源项目成熟度分析工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: github关联域名,创建个人网站教程终
- 下一篇: 【问底】严澜:数据挖掘入门——分词