[發明專利]一種基于B/S架構的程序源代碼的評判系統及方法有效
| 申請號: | 201410323762.5 | 申請日: | 2014-07-08 |
| 公開(公告)號: | CN104077227B | 公開(公告)日: | 2017-01-04 |
| 發明(設計)人: | 陳榮;馬凱;劉平月;李輝;高健;陳世峰 | 申請(專利權)人: | 大連海事大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/44 |
| 代理公司: | 大連東方專利代理有限責任公司21212 | 代理人: | 楊威,李洪福 |
| 地址: | 116026 *** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 架構 程序 源代碼 評判 系統 方法 | ||
技術領域
本發明涉及一種基于B/S架構的程序源代碼的評判系統及方法,具體地說是一種在B/S架構下能夠對源程序進行自動插裝、覆蓋率獲取、故障診斷、結果度量并完成代碼質量評判的系統及方法。
背景技術
當今隨著計算機的日益普及,計算機軟件起著越來越舉足輕重的作用,軟件質量問題也越發引起人們的注意。然而,計算機開發行業中的管理人員和團隊領袖常常并不了解他們所領導的開發團隊的編程習慣和思維定式。而開發人員通常都有自己的工作習慣和工作方式,并且某位開發人員的習慣可能不適合其正在參與的項目。若一位開發人員被安排到了不適合的開發風格和角色上,于是會引入更多的人為程序錯誤,甚至會導致時間的浪費以及生產力和效率低下。
特別是計算機專業的學生作為初級軟件開發者,培養過程中也需要逐步確立他們的編程和思維習慣。然而,在如今大學開設的計算機語言課程中,仍然需要教師手動批改學生的程序,對學生的掌握程度進行人工分析與評分。而學生在寫代碼的過程中,由于對代碼理解程度有限,在程序出錯后往往無法及時對程序進行修改,缺少一個實用性較高的自動評判系統對學生進行有針對性的指導和建議。
同時,現代的軟件開發工具,無論是自動化的軟件測試工具,還是程序調試工具,若干質量評估可以從對已編譯或源代碼形式的測試代碼的分析來確定,包括評估測試代碼作出的描述性斷言、依賴關系評估、秩復雜度評估、返回值斷言、可變參數斷言、以及測試有效性歷史。其測試環境可用于測試應用程序代碼質量,但還不足用于評估開發人員的編程習慣和思維模式,試圖確定某個成員是否適合某類選定的開發模式是困難的。
事實上,開發過程中程序中難免會出現一些錯誤,其中一些簡單的語法錯誤可以通過編譯提示信息加以改正。所謂軟件測試就是當根據輸入得到的輸出結果與期望的結果不相符,即程序的運行出現了錯誤時,需要一個找出程序中存在的錯誤并糾正錯誤的過程,它是一項非常費時耗力的工作。據統計,在軟件開發中,減少程序中存在的錯誤占到整個軟件維護成本的50%—80%。調試工作需要對程序的功能、實現、語義、結構以及相關的失敗執行有一定的了解,因而對程序進行調試是一項比較困難的工作。
程序調試主要包括錯誤檢測、錯誤定位、錯誤修復。其中錯誤定位是調試過程中一項比較困難的工作,它通過審查源程序語義和結構,結合分析程序的執行過程及結果,輔助開發人員找到程序錯誤位置。傳統的程序調試方法一般是使用調試工具對程序進行手工錯誤定位,通過設置斷點、執行時查看中間結果來逐步推斷分析、定位錯誤。但這一手動調試過程會消耗大量寶貴的人力、物力資源。而在程序錯誤定位領域中,一種做法是在程序失效后,根據程序的運行時輸入和程序的運行時行為來快速定位出錯的程序語句。這種做法一定程度上可以幫助開發人員快速找到程序失效根源,從而減少因調試程序而付出的過多人力物力消耗。
目前在人工智能和軟件工程自動化領域已經出現一些診斷技術,其中基于測試的故障定位方法(Testing-Based?Fault?Localization;簡稱TBFL)是研究的熱點。它只需提供測試用例成功和失效的信息,使得檢測者在不必了解程序的內部結構和邏輯甚至不具備程序知識的情況下依然能檢測程序錯誤,具有很強的便捷性與高效性。目前主流的故障定位技術如Tarantula、Safla等算法都具有較好的定位結果。
這些技術進步有助于改進對開發人員資料的自動化分析,具體包括收集與一位開發人員所做的代碼提交相關的信息,通過對收集信息(如測試通過率、程序錯誤嚴重程度)的統計分析來確定開發人員的基本資料屬性,并提供一份關于此開發人員的編程行為的數據事實,參考工作角色描述對開發人員的資料進行分析判斷。借助這樣的評判方法及其系統,軟件開發管理者容易尋找最適合當前開發團隊的成員,方便確立同團隊成員融合的工作風格,保證目前團隊成員都處于合適的位置和效率巔峰,能夠有效分工協作,從而對項目產生積極影響。本發明在上述技術的基礎上提出一個基于開發習慣識別的自動化分析方法及系統,該系統能夠綜合運用自動測試、程序插裝、程序錯誤定位技術所產生的質量數據,實現提交程序源代碼的自動化評判。
發明內容
鑒于已有技術存在的缺陷,本發明的目的是要提供一種能夠對程序進行自動故障定位的程序源代碼的評判系統。
為了實現上述目的,本發明的技術方案:
一種基于B/S架構的程序源代碼的評判系統,包括瀏覽器端和服務器端,其特征在于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連海事大學,未經大連海事大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410323762.5/2.html,轉載請聲明來源鉆瓜專利網。





