999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

計(jì)算機(jī)編程代碼優(yōu)劣評(píng)價(jià)系統(tǒng)的設(shè)計(jì)與研究

2024-01-12 05:40:56李真成
微型電腦應(yīng)用 2023年12期
關(guān)鍵詞:優(yōu)化評(píng)價(jià)

李真成

(天津交通職業(yè)學(xué)院, 經(jīng)濟(jì)管理學(xué)院, 天津 300110)

0 引言

目前,高級(jí)語(yǔ)言編程開發(fā)平臺(tái)中,對(duì)高級(jí)語(yǔ)言進(jìn)行預(yù)編譯或者試解析,從而發(fā)現(xiàn)其語(yǔ)法錯(cuò)誤并給出報(bào)錯(cuò),已經(jīng)成為平臺(tái)軟件功能開發(fā)的必要技術(shù)。文獻(xiàn)[1]提出的技術(shù)僅可保障該平臺(tái)下開發(fā)的高級(jí)語(yǔ)言程序段的可用性,對(duì)其算法優(yōu)化過(guò)程和持續(xù)優(yōu)化結(jié)果并不能提供必要輔助。文獻(xiàn)[2]指出,近年來(lái)使用第三方插件對(duì)程序代碼做出基于人工智能的算法優(yōu)化成果評(píng)價(jià),成為編程過(guò)程服務(wù)軟件開發(fā)中的重要任務(wù)。文獻(xiàn)[3]通過(guò)計(jì)算機(jī)編程技術(shù)對(duì)計(jì)算機(jī)編程代碼進(jìn)行分析,以實(shí)現(xiàn)編程工作環(huán)境直接對(duì)編程代碼質(zhì)量的深度評(píng)價(jià),而非傳統(tǒng)模式下僅對(duì)編程代碼的可編譯性進(jìn)行評(píng)價(jià),是當(dāng)前高級(jí)語(yǔ)言計(jì)算機(jī)輔助編程環(huán)境搭建工作的重要技術(shù)革新方向[4]。

1 數(shù)學(xué)算法視角下的計(jì)算機(jī)編程優(yōu)化任務(wù)分解

以往程序員績(jī)效管理中,其代碼質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)為代碼可編譯,可正常運(yùn)行,導(dǎo)致大部分程序員的代碼質(zhì)量較差,大部分開發(fā)工時(shí)用于對(duì)代碼漏洞的修補(bǔ)工作,使開發(fā)成本激增。大部分程序開發(fā)工作面臨“技術(shù)綁架”的管理壓力[5]。

傳統(tǒng)模式下,計(jì)算機(jī)編程優(yōu)化的評(píng)價(jià)指標(biāo),主要包括以下三個(gè)方面。

第一,代碼本身的優(yōu)化。IT界將計(jì)算機(jī)代碼本身分為兩種[6]:一種只有編程者本人能看懂,如果間隔時(shí)間過(guò)長(zhǎng),其本人也很難看懂,這種代碼效率較低,縮進(jìn)、注釋都較為混亂,但企業(yè)無(wú)法對(duì)該編程者取消合作關(guān)系;另一種所有編程者對(duì)照技術(shù)文檔都能看懂,這種代碼縮進(jìn)、注釋等都實(shí)現(xiàn)了標(biāo)準(zhǔn)化,技術(shù)文檔較為清晰,但每個(gè)編程者均不存在不可替代性。所以,對(duì)程序員來(lái)說(shuō),降低代碼優(yōu)化程度,或者說(shuō)降低代碼質(zhì)量,可以獲得更穩(wěn)定的工作,延長(zhǎng)開發(fā)時(shí)間,獲得更高的個(gè)人收益。這一利益趨向與開發(fā)公司的利益沖突。

第二,資源調(diào)用量的優(yōu)化。不論是個(gè)人電腦還是手機(jī)、平板電腦等設(shè)備,以及各種嵌入設(shè)備和工業(yè)設(shè)備,其自身具有的計(jì)算資源有限,在分布式計(jì)算、云計(jì)算等軟件運(yùn)行環(huán)境下,網(wǎng)絡(luò)帶寬資源、內(nèi)存總線帶寬資源、顯示總線帶寬資源、其他總線帶寬資源等,也被用于資源調(diào)用量的考察。經(jīng)過(guò)充分優(yōu)化的數(shù)學(xué)算法,可以使用有限的資源調(diào)用量實(shí)現(xiàn)目標(biāo)功能。

第三,系統(tǒng)運(yùn)行效率的優(yōu)化。高級(jí)語(yǔ)言的編程過(guò)程基本無(wú)須直接操作上述硬件資源,即便在C族語(yǔ)言中有ASM命令可以嵌入宏匯編語(yǔ)句,但大部分高級(jí)語(yǔ)言保留字均封裝了大量可編譯信息。優(yōu)秀的程序員可以充分利用高級(jí)語(yǔ)言的循環(huán)結(jié)構(gòu)、分支結(jié)構(gòu)等構(gòu)件算法,有效壓縮程序執(zhí)行過(guò)程的計(jì)算次數(shù),使程序完成相同計(jì)算任務(wù)以及同樣計(jì)算機(jī)硬件資源支持條件的前提下,程序可以在最短時(shí)間完成計(jì)算[7]。

綜上,傳統(tǒng)評(píng)價(jià)模式主要包括表1中的評(píng)價(jià)指標(biāo)。

表1 計(jì)算機(jī)編程優(yōu)化成果評(píng)價(jià)因子匯總表

表1中,傳統(tǒng)模式下,對(duì)代碼段本身的優(yōu)化成果無(wú)法客觀定義,一般由項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、測(cè)試工程師給出主觀評(píng)價(jià),進(jìn)而對(duì)各方意見給出加權(quán)平均。但因?yàn)樵诔绦蜷_發(fā)過(guò)程中,代碼段本身的優(yōu)化過(guò)程屬于人事績(jī)效管理中沖突最嚴(yán)重的部分,所以此處需要利用人工智能給出非主觀評(píng)價(jià)結(jié)果。

2 用于代碼段優(yōu)化水平整體評(píng)價(jià)的模糊卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)

該研究的技術(shù)路徑為使用人工智能系統(tǒng)對(duì)代碼優(yōu)劣程度做出包含細(xì)節(jié)信息的整體評(píng)價(jià)。其中,人工智能的實(shí)現(xiàn)模式為模糊卷積神經(jīng)網(wǎng)絡(luò)。因?yàn)樵撗芯吭O(shè)計(jì)的評(píng)價(jià)系統(tǒng)需要對(duì)大部分開發(fā)場(chǎng)景下的編程代碼做出評(píng)價(jià),所以需要構(gòu)建計(jì)算機(jī)編程代碼的一般模式并在一般模式下進(jìn)行數(shù)據(jù)挖掘分析。

2.1 計(jì)算機(jī)代碼評(píng)價(jià)標(biāo)準(zhǔn)的一般模式假設(shè)

對(duì)于軟件開發(fā)工程來(lái)說(shuō),計(jì)算機(jī)編程代碼一般分為兩個(gè)層次。

其一為面向機(jī)器編程的宏匯編語(yǔ)言體系(MASM),當(dāng)前可用的開發(fā)平臺(tái)包括IBM公司推出的ASM開發(fā)環(huán)境、Borland公司推出的C系列開發(fā)環(huán)境(TC、C++、VC等)、SUN公司推出的JavaBean開發(fā)環(huán)境[8]。

其二為面向?qū)ο蟮母呒?jí)語(yǔ)言編程體系,該編程體系包含了運(yùn)行在C語(yǔ)言編譯架構(gòu)上的GUI開發(fā)體系,解釋型代碼架構(gòu)上的偽編譯腳本開發(fā)體系(B語(yǔ)言架構(gòu)下的VBS腳本、C語(yǔ)言架構(gòu)下的C#腳本等),當(dāng)前開發(fā)環(huán)境中常用的JSP、PHP腳本代碼,部分服務(wù)器端開發(fā)任務(wù),也采用了這種偽編譯解釋性代碼體系[9]。

2.2 數(shù)據(jù)模糊化與數(shù)據(jù)輸入

程序代碼文本雖然可以結(jié)構(gòu)化為可編譯或可解釋數(shù)字化代碼,但其中也包含各種自定義變量名、注釋文本等。所以,程序代碼文本屬于非標(biāo)準(zhǔn)異構(gòu)數(shù)據(jù),應(yīng)設(shè)計(jì)數(shù)據(jù)模糊化算法對(duì)代碼段進(jìn)行逐行分析。其分析流程如圖1所示。

圖1 模糊化算法的流程

圖1中,逐行讀入代碼文本,根據(jù)代碼行的注釋標(biāo)識(shí),分析代碼行的分類,統(tǒng)計(jì)代碼行總字符數(shù)和注釋字符數(shù),另提取其非注釋部分,提取其保留字和變量名,同時(shí)分析變量的數(shù)據(jù)類型。經(jīng)過(guò)該模糊化過(guò)程,形成一個(gè)二維矩陣,矩陣的第一控制區(qū)間(行)為代碼段的總行數(shù),對(duì)每一行構(gòu)建一組評(píng)價(jià)值,作為第二控制區(qū)間(列),詳見表2。

表2 輸入矩陣第二控制區(qū)間定義表

表2中,共給出該輸入矩陣6列n行,n為代碼段的總行數(shù)。該輸入矩陣的所有元素,均為整型變量(Integer格式)。在輸入神經(jīng)網(wǎng)絡(luò)時(shí),整型變量將強(qiáng)制轉(zhuǎn)化為雙精度浮點(diǎn)型變量(Double格式)進(jìn)行輸入[10]。

2.3 神經(jīng)網(wǎng)絡(luò)具體設(shè)計(jì)

將上述全部數(shù)據(jù)深度卷積的統(tǒng)一輸出結(jié)果,與逐行數(shù)據(jù)之間形成逐行優(yōu)化結(jié)果評(píng)價(jià),而為了加強(qiáng)對(duì)逐行數(shù)據(jù)的評(píng)價(jià),還需要將被評(píng)價(jià)行的向前5行和向后5行作為參照行。該神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)流模式詳見圖2。

圖2 神經(jīng)網(wǎng)絡(luò)架構(gòu)數(shù)據(jù)流圖

圖2中,共設(shè)計(jì)2個(gè)神經(jīng)網(wǎng)絡(luò)模塊。

一個(gè)為深度卷積模塊,用于對(duì)全部模糊化數(shù)據(jù)進(jìn)行整體評(píng)價(jià),其輸入節(jié)點(diǎn)量為6×n個(gè)。如果程序代碼段總行數(shù)為3萬(wàn)行,則此處輸入數(shù)據(jù)量為18萬(wàn)個(gè)。采用軟件自適應(yīng)法,根據(jù)輸入數(shù)據(jù)量構(gòu)建神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)量,節(jié)點(diǎn)采用六階多項(xiàng)式回歸函數(shù)進(jìn)行節(jié)點(diǎn)設(shè)計(jì),每層卷積率為35%,卷積至隱藏層末端確保節(jié)點(diǎn)數(shù)大于5個(gè)。

另一個(gè)為逐行評(píng)價(jià)分析模塊,其輸入節(jié)點(diǎn)量包括11×6的矩陣截取段輸入,共55個(gè)輸入項(xiàng),同時(shí)包括上述深度卷積模塊輸出的參照模塊,即逐行評(píng)價(jià)分析模塊共輸入56個(gè)輸入項(xiàng)。該模塊分為兩段:第一段占用輸入層及前3層隱藏層,使用對(duì)數(shù)回歸函數(shù)進(jìn)行節(jié)點(diǎn)設(shè)計(jì),卷積率為75%;第二段為隱藏層后4層,采用二值化回歸函數(shù)進(jìn)行節(jié)點(diǎn)設(shè)計(jì),卷積率為55%。

神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)訓(xùn)練中,使所有結(jié)果收斂到[0,1]區(qū)間內(nèi),且評(píng)價(jià)結(jié)果越接近1.000,則認(rèn)為代碼優(yōu)化程度越高;反之,評(píng)價(jià)結(jié)果越接近0.000,則認(rèn)為代碼優(yōu)化程度越低。將輸出結(jié)果構(gòu)建直方圖,直觀顯示程序員的代碼編寫水平。

3 計(jì)算機(jī)編程優(yōu)化評(píng)價(jià)分析結(jié)果討論

該算法最終輸出1個(gè)二值化評(píng)價(jià)序列,最大為1.000,最小為0.000,且絕大部分?jǐn)?shù)據(jù)集中在1.000或0.000附近。該序列每個(gè)節(jié)點(diǎn)對(duì)應(yīng)代碼的每一行,節(jié)點(diǎn)數(shù)據(jù)本身并不能直接反映出代碼的優(yōu)劣,但對(duì)整體序列構(gòu)建直方圖后,可以直觀觀察代碼整體的開發(fā)質(zhì)量。

針對(duì)前文假設(shè)中提出的4個(gè)開發(fā)目標(biāo),該評(píng)價(jià)結(jié)果可以在唯一評(píng)價(jià)結(jié)果中給出統(tǒng)一評(píng)價(jià)。即該評(píng)價(jià)結(jié)果較高(接近1.000)的評(píng)價(jià)結(jié)果,表示代碼綜合滿足上述4個(gè)開發(fā)目標(biāo);反之,該評(píng)價(jià)結(jié)果較低(接近0.000)的評(píng)價(jià)結(jié)果,表示該代碼并不滿足上述4個(gè)開發(fā)目標(biāo)。某線上購(gòu)物平臺(tái)真實(shí)開發(fā)項(xiàng)目團(tuán)隊(duì)30人,其中開發(fā)組成員15人,代碼規(guī)模36萬(wàn)行,分為72個(gè)功能文件進(jìn)行開發(fā),開發(fā)模型為螺旋式開發(fā)模型。軟件試運(yùn)行期間,使用上述開發(fā)團(tuán)隊(duì)產(chǎn)出的代碼作為原始數(shù)據(jù)測(cè)試該系統(tǒng)執(zhí)行效果。

3.1 評(píng)價(jià)結(jié)果的特異性表達(dá)

使用該算法在Python環(huán)境中運(yùn)行,輸入不同程序員的代碼成果,對(duì)其進(jìn)行評(píng)價(jià),分別對(duì)其列出直方圖。其中,開發(fā)效率較高程序員與開發(fā)效率較低程序員的直方圖對(duì)比結(jié)果如圖3所示。

圖3中,程序員a為在所有程序員中使用深度卷積計(jì)算后評(píng)價(jià)結(jié)果最高的人,程序員b是所有程序員中使用深度卷積計(jì)算后評(píng)價(jià)結(jié)果最低的人。將開發(fā)組成員15人中直接深度卷積結(jié)果最低的程序員b(評(píng)價(jià)結(jié)果0.117)與直接深度卷積結(jié)果最高的程序員a(評(píng)價(jià)結(jié)果0.935)的直方圖結(jié)果進(jìn)行對(duì)比,發(fā)現(xiàn)程序員a的整段代碼中除個(gè)別行評(píng)價(jià)結(jié)果小于1.000外,絕大多數(shù)行的評(píng)價(jià)結(jié)果均為1.000,反之程序員b的整段代碼中除個(gè)別評(píng)價(jià)結(jié)果大于0.000外,絕大多數(shù)行的評(píng)價(jià)結(jié)果均為0.000。

3.2 非特異性數(shù)據(jù)的局部特異性表達(dá)

為了測(cè)試該系統(tǒng)在非特異性程序員的編程代碼評(píng)價(jià)中的表現(xiàn),在上述165個(gè)樣本中隨機(jī)選擇2個(gè)程序員的評(píng)價(jià)結(jié)果,如圖4所示。

圖4 非特異性程序員的評(píng)價(jià)結(jié)果對(duì)比圖

圖4中,程序員c和程序員d均為隨機(jī)選取的在所有程序員中評(píng)價(jià)結(jié)果中等的人。其中,程序員c的綜合評(píng)價(jià)結(jié)果為0.496,程序員d的綜合評(píng)價(jià)結(jié)果為0.358,系統(tǒng)均給出了較為折中的評(píng)價(jià)成績(jī)。但是,因?yàn)樵撍惴ㄊ褂昧藢?shù)據(jù)落點(diǎn)推向[0,1]區(qū)間兩側(cè)的二值化模塊,其評(píng)價(jià)結(jié)果相對(duì)極端。

在上述2個(gè)程序員的評(píng)價(jià)結(jié)果中,部分代碼段給出了接近1.000的評(píng)價(jià),部分代碼給出了接近0.000的評(píng)價(jià)。該結(jié)果難以對(duì)代碼段做出折中評(píng)價(jià),但其優(yōu)勢(shì)是可以在直方圖中顯著表達(dá)程序代碼的主觀質(zhì)量。

3.3 評(píng)價(jià)結(jié)果的整體表達(dá)

綜合考察該軟件對(duì)開發(fā)組成員15人的評(píng)價(jià)結(jié)果與開發(fā)方技術(shù)人員對(duì)其代碼的人工審核結(jié)果。人工審核組包括甲方工程師、項(xiàng)目經(jīng)理、開發(fā)經(jīng)理、產(chǎn)品經(jīng)理等。人工審核組共12人,其中軟件工程師10人,行政管理人員2人,行政管理人員均有10年以上軟件開發(fā)工作經(jīng)驗(yàn)。其審核方式為人工對(duì)其代碼進(jìn)行打分,滿分10分,最低0分,對(duì)比15人的機(jī)器評(píng)價(jià)得分與人工評(píng)價(jià)得分的統(tǒng)計(jì)學(xué)關(guān)系,得到圖5。

圖5 人工打分與機(jī)器評(píng)價(jià)結(jié)果的關(guān)聯(lián)關(guān)系圖

圖5中,人工打分結(jié)果與機(jī)器評(píng)價(jià)結(jié)果的線性相關(guān)關(guān)聯(lián)度,以R2值評(píng)價(jià),達(dá)到0.927,而當(dāng)R2值達(dá)到0.800以上時(shí)則認(rèn)為其存在線性相關(guān)關(guān)系。其中,R2值的統(tǒng)計(jì)學(xué)意義是決定系數(shù)(coefficient of determination),代表回歸平方和與殘差平方和的比值。在此評(píng)價(jià)結(jié)果中,發(fā)現(xiàn)評(píng)價(jià)得分較低的程序代碼,其人工打分與機(jī)器打分的離散度更高,即對(duì)質(zhì)量較差的程序代碼,機(jī)器打分雖然與人工打分均給出了較低的打分,但二者的差異性較大。考慮到神經(jīng)網(wǎng)絡(luò)算法的基本原理,出現(xiàn)這一問題的主要原因?yàn)闄C(jī)器打分可以考慮到的質(zhì)量較差代碼的主觀因素較少。

4 總結(jié)

本研究的評(píng)價(jià)系統(tǒng)是基于深度卷積模糊神經(jīng)網(wǎng)絡(luò)的編程算法優(yōu)劣的評(píng)價(jià)結(jié)果,與人工打分結(jié)果基本一致,且更具有客觀性。這一技術(shù)對(duì)程序開發(fā)項(xiàng)目管理的客觀績(jī)效模式搭建工作有積極意義。同時(shí),針對(duì)編程代碼質(zhì)量進(jìn)行人工打分過(guò)程可能帶入評(píng)價(jià)者的主觀因素,可能對(duì)質(zhì)量較低代碼給出比機(jī)器打分更低的分?jǐn)?shù)。采用機(jī)器打分可以給編程能力稍差的編程工作人員更為客觀的評(píng)價(jià),這也體現(xiàn)出純客觀評(píng)價(jià)對(duì)基層工作人員的基本尊重。后續(xù)研究中,通過(guò)增加神經(jīng)網(wǎng)絡(luò)復(fù)雜度提升評(píng)價(jià)精度,從而幫助程序員實(shí)現(xiàn)更高質(zhì)量的計(jì)算機(jī)編程代碼。

猜你喜歡
優(yōu)化評(píng)價(jià)
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
SBR改性瀝青的穩(wěn)定性評(píng)價(jià)
石油瀝青(2021年4期)2021-10-14 08:50:44
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
中藥治療室性早搏系統(tǒng)評(píng)價(jià)再評(píng)價(jià)
基于Moodle的學(xué)習(xí)評(píng)價(jià)
基于低碳物流的公路運(yùn)輸優(yōu)化
關(guān)于項(xiàng)目后評(píng)價(jià)中“專項(xiàng)”后評(píng)價(jià)的探討
主站蜘蛛池模板: 97久久超碰极品视觉盛宴| 亚洲中文久久精品无玛 | 国产久草视频| 强乱中文字幕在线播放不卡| 国模在线视频一区二区三区| 精品国产www| 国产主播在线一区| 免费欧美一级| 久久精品丝袜| 就去吻亚洲精品国产欧美| 免费国产黄线在线观看| 中国一级毛片免费观看| a毛片在线免费观看| 国产成人一二三| 在线观看无码av五月花| 日韩专区欧美| 欧美成人午夜视频免看| 日韩无码视频专区| 国产香蕉97碰碰视频VA碰碰看| 国产高清不卡| 久久久精品久久久久三级| AV熟女乱| 成人av手机在线观看| 日韩高清在线观看不卡一区二区| 国模视频一区二区| 九色视频在线免费观看| 亚洲AⅤ波多系列中文字幕| 久久久久国色AV免费观看性色| 国产xxxxx免费视频| 久久国产精品影院| 亚洲大学生视频在线播放| 一级做a爰片久久毛片毛片| 2020国产精品视频| 全部免费毛片免费播放| 精品视频第一页| 国产日韩AV高潮在线| 欧美一级夜夜爽| 午夜电影在线观看国产1区| 日本午夜三级| 国产精品成人久久| 国产理论最新国产精品视频| 国产人在线成免费视频| 欧美在线视频不卡| 国产91在线|日本| 在线毛片免费| 99视频精品全国免费品| 青草视频在线观看国产| 老司国产精品视频91| 久久精品视频亚洲| 亚洲综合色婷婷| 怡红院美国分院一区二区| 欧美精品不卡| 欧美一区二区精品久久久| 欧美色视频日本| 国产福利在线免费观看| 国产美女无遮挡免费视频网站 | 亚洲二三区| 亚洲第一网站男人都懂| 黄色网页在线播放| 亚洲Av综合日韩精品久久久| 国产在线麻豆波多野结衣| 日韩免费毛片视频| 欧美一级高清免费a| 在线免费不卡视频| 精品福利视频导航| 欧美日韩成人| 91亚洲免费视频| 在线观看欧美精品二区| 色网站在线免费观看| 亚洲欧美另类视频| 在线观看网站国产| 欧美激情综合| 日本人妻一区二区三区不卡影院| 黄色在线网| 国产在线视频欧美亚综合| 99在线视频精品| 在线观看免费国产| 午夜视频在线观看免费网站| 四虎成人精品| 亚洲国内精品自在自线官| 中文字幕在线观看日本| 99精品视频播放|