精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

研究顯示,用Python更易出現(xiàn)軟件缺陷!

責(zé)任編輯:editor006

作者:鈺瑩 

2017-10-17 16:17:17

摘自:it168網(wǎng)站

經(jīng)常會有剛?cè)胄械某绦騿T試圖比較各大編程語言之間的差別,然后選擇自己認(rèn)為較好的編程語言學(xué)習(xí)。研究人員通過搜索錯誤相關(guān)的關(guān)鍵字,確定了對個別項目的錯誤修復(fù)提交,比如“錯誤”、修復(fù)”、“問題”、“不正確”、“故障“、”缺陷”等。

經(jīng)常會有剛?cè)胄械某绦騿T試圖比較各大編程語言之間的差別,然后選擇自己認(rèn)為較好的編程語言學(xué)習(xí)。雖然圈子里公認(rèn)各大編程語言之間沒有好壞之分,只有是否合適,但不知廣大程序員有沒有思考過編程語言對軟件質(zhì)量的影響呢。

研究顯示,用Python更易出現(xiàn)軟件缺陷!

近日,研究人員Baishakhi Ray、Daryl Posnett、Premkumar Devanbu、Vladimir Filkov 從GitHub收集了大量數(shù)據(jù)(728個項目,6300萬SLOC,29,000作者,150萬提交,17種語言)以回答這個問題:編程語言與軟件質(zhì)量之間的關(guān)系是什么呢?

他們發(fā)現(xiàn):

編程語言確實(shí)對軟件質(zhì)量有影響,但影響程度一般;

不允許類型混淆的編程語言比允許類型混亂的要更好一些;

在函數(shù)式編程語言中,靜態(tài)類型比動態(tài)類型更好;

函數(shù)式編程語言比過程式編程語言效果差。

結(jié)論:

函數(shù)式編程語言編寫的軟件質(zhì)量顯然不如過程式編程語言,C、C ++、Objective-C、Php和Python與更多數(shù)量的缺陷修復(fù)相關(guān),而Clojure、Haskell、Ruby和Scala則不太可能導(dǎo)致缺陷修復(fù)。而在函數(shù)式編程語言中,靜態(tài)類型語言表現(xiàn)更好。語言類型與軟件缺陷之間存在很小但重要的關(guān)系,函數(shù)式編程語言比過程式語言或腳本語言的缺陷更多。缺陷類型與編程語言密切相關(guān), 一些缺陷類型,如內(nèi)存錯誤和并發(fā)錯誤取決于語言原語。對于具體類別而言,編程語言對整體缺陷的影響更大。

研究顯示,用Python更易出現(xiàn)軟件缺陷!

上圖顯示的第一列為編程語言,最后一列為對應(yīng)的bug修復(fù)數(shù),不難看出Python的41.9明顯高于Java的35.9,如果Python想取代Java,似乎還欠缺很大火候啊!此外,C語言的182.6實(shí)在是多得離譜,可能是因為C語言問世較早,所以經(jīng)歷的摸索期和修復(fù)期更長的關(guān)系,C++、C#或許與C語言有著相同的原因。

本次實(shí)驗所選用的語言和項目數(shù)據(jù)是從公共GitHub數(shù)據(jù)庫GitHub Archive中提取出來的。研究人員從GitHub中選擇了前20種編程語言(不含CSS、Shell腳本和Vim腳本,因為它們不被視為通用語言)并添加了Typescript。同時,檢索了這些主流編程語言的前50個開源項目!

研究顯示,用Python更易出現(xiàn)軟件缺陷!

對于每個項目(共728個),研究人員使用git下載了未合并的提交,包括提交日志、作者日期和作者姓名。根據(jù)每個文件添加、刪除的行計算代碼流失和每個提交修改的文件數(shù),然后從修改的文件擴(kuò)展中檢索與每個提交相關(guān)聯(lián)的語言。對于每個提交,通過從相應(yīng)項目的第一次提交中減去其提交日期來計算其提交周期,并計算其他項目相關(guān)統(tǒng)計信息,包括項目的最大提交周期和參與的開發(fā)人員總數(shù)。研究人員通過搜索錯誤相關(guān)的關(guān)鍵字,確定了對個別項目的錯誤修復(fù)提交,比如“錯誤”、修復(fù)”、“問題”、“不正確”、“故障“、”缺陷”等。

然后,根據(jù)其原因和影響將錯誤分為兩個階段:關(guān)鍵字搜索和監(jiān)督分類。研究人員使用回歸模型記錄軟件項目相關(guān)的缺陷提交數(shù)量。

這些結(jié)果是否對程序員選擇編程語言有所幫助呢?會不會動搖你現(xiàn)在的基本選擇呢?評論告訴我們吧!

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 馆陶县| 宁强县| 尚志市| 萨迦县| 沙雅县| 呼和浩特市| 原阳县| 怀远县| 平乡县| 萨迦县| 甘南县| 泰来县| 邵阳县| 香格里拉县| 老河口市| 新绛县| 英德市| 萨嘎县| 惠水县| 崇信县| 错那县| 开江县| 铜梁县| 工布江达县| 子长县| 东城区| 大厂| 阆中市| 金阳县| 兴山县| 抚松县| 辽阳市| 福泉市| 霞浦县| 隆子县| 根河市| 翁源县| 江川县| 聂荣县| 彩票| 晴隆县|