研究顯示,用Python更易出現軟體缺陷!
經常會有剛入行的程式設計師試圖比較各大程式語言之間的差別,然後選擇自己認為較好的程式語言學習。雖然圈子裡公認各大程式語言之間沒有好壞之分,只有是否合適,但不知廣大程式設計師有沒有思考過程式語言對軟體質量的影響呢。
近日,研究人員Baishakhi Ray、Daryl Posnett、Premkumar Devanbu、Vladimir Filkov 從GitHub收集了大量資料(728個專案,6300萬SLOC,29,000作者,150萬提交,17種語言)以回答這個問題:程式語言與軟體質量之間的關係是什麼呢?
他們發現:
程式語言確實對軟體質量有影響,但影響程度一般;
不允許型別混淆的程式語言比允許型別混亂的要更好一些;
在函數語言程式設計語言中,靜態型別比動態型別更好;
函數語言程式設計語言比程式式程式設計語言效果差。
結論:
函數語言程式設計語言編寫的軟體質量顯然不如程式式程式設計語言,C、C ++、Objective-C、Php和Python與更多數量的缺陷修復相關,而Clojure、Haskell、Ruby和Scala則不太可能導致缺陷修復。而在函數語言程式設計語言中,靜態型別語言表現更好。語言型別與軟體缺陷之間存在很小但重要的關係,函數語言程式設計語言比過程式語言或指令碼語言的缺陷更多。缺陷型別與程式語言密切相關, 一些缺陷型別,如記憶體錯誤和併發錯誤取決於語言原語。對於具體類別而言,程式語言對整體缺陷的影響更大。
上圖顯示的第一列為程式語言,最後一列為對應的bug修復數,不難看出Python的41.9明顯高於Java的35.9,如果Python想取代Java,似乎還欠缺很大火候啊!此外,C語言的182.6實在是多得離譜,可能是因為C語言問世較早,所以經歷的摸索期和修復期更長的關係,C++、C#或許與C語言有著相同的原因。
本次實驗所選用的語言和專案資料是從公共GitHub資料庫GitHub Archive中提取出來的。研究人員從GitHub中選擇了前20種程式語言(不含CSS、Shell指令碼和Vim指令碼,因為它們不被視為通用語言)並新增了Typescript。同時,檢索了這些主流程式語言的前50個開源專案!
對於每個專案(共728個),研究人員使用git下載了未合併的提交,包括提交日誌、作者日期和作者姓名。根據每個檔案新增、刪除的行計算程式碼流失和每個提交修改的檔案數,然後從修改的檔案擴充套件中檢索與每個提交相關聯的語言。對於每個提交,通過從相應專案的第一次提交中減去其提交日期來計算其提交週期,並計算其他專案相關統計資訊,包括專案的最大提交週期和參與的開發人員總數。研究人員通過搜尋錯誤相關的關鍵字,確定了對個別專案的錯誤修復提交,比如“錯誤”、修復”、“問題”、“不正確”、“故障“、”缺陷”等。
然後,根據其原因和影響將錯誤分為兩個階段:關鍵字搜尋和監督分類。研究人員使用迴歸模型記錄軟體專案相關的缺陷提交數量。
這些結果是否對程式設計師選擇程式語言有所幫助呢?會不會動搖你現在的基本選擇呢?評論告訴我們吧!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2153943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 致命Bug:軟體缺陷的災難與啟示
- 軟體用例寫作與缺陷管理
- IDC:微軟研究報告顯示:33%的軟體是贗品微軟
- 軟體測試:軟體缺陷管理
- 軟體缺陷的案例
- 軟體缺陷管理流程
- [個體軟體過程]之缺陷管理--缺陷預測 (轉)
- 《致命Bug:軟體缺陷的災難與啟示》讀後感受
- mac顯示器校準軟體BetterDisplay Pro for Mac啟用版Mac
- 軟體測試--缺陷報告
- 中文顯示原理研究(轉)
- 各大主流社交軟體顯示ip地址-如何實現ip飄移
- AudienceProject:研究顯示流媒體電視持續激增Project
- 研究顯示45%的惡意軟體有效負載通過微軟Office巨集傳送負載微軟
- 研究顯示美國地區高富帥用iPhone 屌絲用AndroidiPhoneAndroid
- 能否通過軟體來實現顯示螢幕的視角限制?
- 用 Linux 命令顯示硬體資訊Linux
- win10應用程式的圖示顯示不出來怎麼辦_win10軟體圖示不顯示的解決方法Win10
- win10系統中文軟體顯示亂碼怎麼回事_win10安裝中文軟體出現亂碼解決教程Win10
- Kromtech:研究顯示部分手機遊戲被用於洗錢遊戲
- BetterDisplay Pro for mac(顯示器管理管理軟體) v1.4.15啟用版Mac
- 直播軟體搭建,vue3應用elementPlus table並滾動顯示Vue
- 顯示器管理管理軟體:BetterDisplay Pro for mac v2.0.11啟用版Mac
- BetterDisplay Pro for mac(顯示器管理管理軟體)v2.0.11啟用版Mac
- BetterDisplay Pro for Mac(顯示器校準軟體) v2.0.11啟用版Mac
- win10安裝軟體出現亂碼怎麼辦?win10系統新裝軟體顯示亂碼的解決方法Win10
- 軟體危機和軟體缺陷的特點和區別
- 軟體測試中容易忽略的缺陷
- win10很多軟體顯示模糊怎麼辦_win10第三方軟體顯示模糊如何修復Win10
- java桌面顯示出錯,顯示佔半邊,顯綠色。Java
- 功能測試中遇到不可重現軟體缺陷的解決策略
- 顯示器校色軟體BetterDisplay Pro 直裝版
- 軟體公司老闆被員工用顯示器砸臉
- 菜鳥破解之軟體自己顯示註冊碼
- windows10每次開啟軟體都要顯示應用商店的解決方法Windows
- Match:調查顯示iPhone使用者更易獲得初次約會機會iPhone
- 皮尤研究中心:研究顯示社交媒體逐漸成為美國政治活動工具
- mac 文件顯示圖示和軟體圖示不一致 解決方案Mac