国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù)的必要性及實施路徑

2024-08-17 00:00:00張藝馨
數(shù)字通信世界 2024年7期

摘要:近年來,隨著數(shù)字經(jīng)濟(jì)建設(shè)過程中對算力、想象力、通信力、管理力的融合,推動了軟件工程高質(zhì)量發(fā)展,設(shè)計者應(yīng)在這種背景下持續(xù)推進(jìn)對數(shù)據(jù)挖掘技術(shù)的應(yīng)用。該文以此為出發(fā)點概述了數(shù)據(jù)挖掘技術(shù)的定義、運行流程及應(yīng)用范圍,并在剖析軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù)必要性的基礎(chǔ)上,分別從代碼檢索、程序規(guī)約、軟件版本控制信息、系統(tǒng)漏洞檢測四個方面,對其實施路徑進(jìn)行了具體探討。

關(guān)鍵詞:軟件工程;數(shù)據(jù)挖掘技術(shù);必要性;實施路徑

doi:10.3969/J.ISSN.1672-7274.2024.07.036

中圖分類號:TP 311.13 文獻(xiàn)標(biāo)志碼:A 文章編碼:1672-7274(2024)07-0-04

The Necessity and Implementation Path of Data Mining Technology in Software Engineering Application

ZHANG Yixin

(Heilongjiang University of Commerce, Harbin 150399, China)

Abstract: In recent years, with the integration of computing power, imagination, communication power, and management power in the construction of the digital economy, high-quality development of software engineering has been promoted. Designers should continue to promote the application of data mining technology in thi46250f981f702ff90e4e2369acf01b0e66b694cf9b2b90f5bcf04980e1170a1bs context. This article takes this as a starting point to outline the definition, operation process, and application scope of data mining technology. Based on the analysis of the necessity of applying data mining technology in software engineering, it specifically explores its implementation path from four aspects: code retrieval, program specifications, software version control information, and system vulnerability detection.

Keywords: software engineering; data mining techniques; necessity; implementation path

信息技術(shù)與通信技術(shù)深度融合雖然為軟件工程實踐提供了新機(jī)遇,但是此類工程具有未來性、智能性、整體性特點,容易受到數(shù)據(jù)結(jié)構(gòu)變化、數(shù)據(jù)存儲數(shù)量增長、數(shù)據(jù)價值挖掘需求等因素影響,增加其中的數(shù)據(jù)管理難度。在這種前提下,設(shè)計者需要進(jìn)一步在技術(shù)賦能路徑下,通過擴(kuò)大技術(shù)要素配置比例的方式提質(zhì)增效、節(jié)本降耗。

1 數(shù)據(jù)挖掘技術(shù)概述

數(shù)據(jù)挖掘(Data mining)屬于計算機(jī)科學(xué),是一種利用算法搜索隱藏信息的技術(shù),應(yīng)用對象涉及結(jié)構(gòu)數(shù)據(jù)、半結(jié)構(gòu)數(shù)據(jù)、非結(jié)構(gòu)數(shù)據(jù),操作步驟如下:①定義問題;②建立數(shù)據(jù)挖掘庫;③分析數(shù)據(jù);④準(zhǔn)備數(shù)據(jù);⑤建立模型;⑥評價模型;⑦實施。從目前來看,數(shù)據(jù)挖掘分析方法一般包括分類估值、預(yù)測、相關(guān)分組或關(guān)聯(lián)規(guī)則、聚類等,適用于各大領(lǐng)域。數(shù)據(jù)挖掘流程如圖1所示。

2 軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù)的必要性

目前,軟件工程中對數(shù)據(jù)挖掘技術(shù)的需求相對增多。筆者通過查閱文獻(xiàn)資料,與同行開展技術(shù)交流,以及總結(jié)日常開發(fā)中的工作經(jīng)驗,認(rèn)為在當(dāng)前階段應(yīng)在需求導(dǎo)向下持續(xù)推進(jìn)對它的應(yīng)用。下面分別從軟件工程中的數(shù)據(jù)管理、軟件性能優(yōu)化、用戶行為預(yù)測三個角度,對其應(yīng)用必要性做出具體分析。

2.1 從數(shù)據(jù)管理角度分析

在當(dāng)前軟件工程高質(zhì)量發(fā)展過程中,受軟件工程開發(fā)人員知識結(jié)構(gòu)更新、開發(fā)技術(shù)創(chuàng)新、職業(yè)素養(yǎng)提升等綜合因素影響,普遍認(rèn)為數(shù)據(jù)管理在軟件工程開發(fā)中發(fā)揮著重要推動作用。具體而言,設(shè)計者開發(fā)軟件、運維管理軟件時,需要進(jìn)行數(shù)據(jù)采集、存儲、提取、分析、應(yīng)用等。然而,隨著軟件工程中的數(shù)據(jù)類型從結(jié)構(gòu)數(shù)據(jù)向半結(jié)構(gòu)數(shù)據(jù)、非結(jié)構(gòu)數(shù)據(jù)拓展,一方面出現(xiàn)了多元異構(gòu)數(shù)據(jù)采集與分類存儲需求,另一方面要求設(shè)計者結(jié)合軟件工程開發(fā)需求提取高質(zhì)量數(shù)據(jù)并對其進(jìn)行深度分析,進(jìn)一步挖掘數(shù)據(jù)價值[1]。數(shù)據(jù)挖掘技術(shù)可以滿足軟件工程“業(yè)務(wù)數(shù)據(jù)采集→清洗轉(zhuǎn)換裝載→數(shù)據(jù)倉庫存儲→多維數(shù)據(jù)集建設(shè)→應(yīng)用服務(wù)器→用戶端等”方面的數(shù)據(jù)管理需求,實現(xiàn)對軟件工程開發(fā)業(yè)務(wù)數(shù)據(jù)的采集、抽取、存儲、加載、透明訪問、在線分析、數(shù)據(jù)挖掘及在線事務(wù)處理查詢等,增強(qiáng)不同開發(fā)環(huán)節(jié)的數(shù)據(jù)共享、數(shù)據(jù)交互。因而,在當(dāng)前階段的數(shù)據(jù)管理中,需要圍繞數(shù)據(jù)這個核心,針對軟件工程開發(fā)、設(shè)計、使用、維護(hù)等環(huán)節(jié)的數(shù)據(jù)管理需求應(yīng)用數(shù)字挖掘技術(shù),輔助設(shè)計者提高數(shù)據(jù)管理的精準(zhǔn)性。

2.2 從軟件性能優(yōu)化角度分析

軟件工程作為一種人工設(shè)計產(chǎn)品,在量子計算機(jī)未全面推廣應(yīng)用之前,并不能達(dá)到“零風(fēng)險”設(shè)計目標(biāo)。在這種前提下,軟件產(chǎn)品性能的優(yōu)良與否,會直接影響其應(yīng)用安全。以往的軟件工程應(yīng)用經(jīng)驗表明,軟件工程開發(fā)與運營期間的性能優(yōu)化始終處于變動狀態(tài),需要根據(jù)其運營過程遇到的問題與發(fā)現(xiàn)的漏洞及遇到的故障等,實施針對性處理,保障性能優(yōu)化目標(biāo)有效落實。在這種目標(biāo)導(dǎo)向下應(yīng)用數(shù)據(jù)挖掘技術(shù),一方面可以對大量的性能數(shù)據(jù)、資源利用情況及在系統(tǒng)運行狀態(tài)中的特征表現(xiàn)等,做出有效分析并輔助設(shè)計者更為精準(zhǔn)地識別軟件性能開發(fā)、設(shè)計中存在的性能問題。另一方面能夠借助對相關(guān)資源的優(yōu)化配置提升軟件產(chǎn)品運行效率與響應(yīng)速度。尤其在數(shù)據(jù)驅(qū)動性能優(yōu)化途徑下,對軟件本身的性能與用戶使用體驗相關(guān)數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,有利于設(shè)計者在促進(jìn)軟件工程開發(fā)中,實現(xiàn)提質(zhì)增效與節(jié)本降耗等綜合目標(biāo)。

2.3 從用戶行為預(yù)測角度分析

軟件工程的主要功能是向用戶提供信息服務(wù),同時用戶行為也會對軟件工程開發(fā)產(chǎn)生一定的影響。按照“逆向設(shè)計”思路,軟件工程設(shè)計者對用戶需求與行為預(yù)測不精準(zhǔn)時,較難設(shè)計出滿足其實際需求和潛在需求的軟件產(chǎn)品[2]。盡管當(dāng)前已經(jīng)出現(xiàn)了“面向?qū)ο笤O(shè)計”的軟件開發(fā)方法,設(shè)計者憑借對Booch、UML、OMT技術(shù)的獨立應(yīng)用與聯(lián)合應(yīng)用,設(shè)計出適配性較高的軟件產(chǎn)品,但用戶具有“主觀能動性”,其行為與動機(jī)不一致的情況時常發(fā)生。在這種前提下應(yīng)用數(shù)據(jù)挖掘技術(shù),能夠?qū)τ脩粜枨笈c用戶行為進(jìn)行相對精準(zhǔn)的預(yù)測分析,為其“逆向設(shè)計”“面向?qū)ο笤O(shè)計”提供科學(xué)依據(jù),提升設(shè)計過程中建立設(shè)計模型、部署構(gòu)件、設(shè)計優(yōu)化、設(shè)計評價等精度。

3 軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù)的實踐

路徑

3.1 以代碼檢索為例

現(xiàn)代軟件工程設(shè)計以編碼方式為主,設(shè)計者對代碼的復(fù)用有利于提高開發(fā)效率。通常情況下,設(shè)計者獲取當(dāng)前代碼時,會選擇搜索Web代碼庫與本地代碼庫方法、基于代碼形式的描述檢索方法或基于輸入與輸出映射的代碼檢索方法。從實踐經(jīng)驗看,上述方法的適用范圍不同,軟件工程設(shè)計者只有根據(jù)實際需求選擇適配的方法,才能保障其設(shè)計速度與質(zhì)量。

就目前而言,數(shù)字經(jīng)濟(jì)建設(shè)已為計算機(jī)網(wǎng)絡(luò)技術(shù)可持續(xù)發(fā)展提供了新的技術(shù)支撐,不僅增強(qiáng)了Web功能,還大幅度提升了存儲代碼的能力,尤其在先進(jìn)代碼檢索引擎應(yīng)用與人工智能技術(shù)融合方面,為不同代碼檢索提供安全可靠性和應(yīng)用便利性。例如,①Google Code采用了Web Portal形式,它的技術(shù)優(yōu)勢是可以按照代碼的抽象語法樹進(jìn)行相似性度量。②Agora則在SDK工具箱基礎(chǔ)上,通過框架模型實現(xiàn)了代碼分類等[3]。在這種情況下,軟件工程設(shè)計者應(yīng)用數(shù)據(jù)挖掘技術(shù),能夠高效地利用不同代碼檢查引擎代碼檢索。值得注意的是,隨著此類代碼檢索方法智能化水平越來越高,除了提供檢索服務(wù)外,此類工具還能夠輔助設(shè)計者完成代碼克隆檢測。例如,軟件系統(tǒng)設(shè)計期間,總代碼中約有7%到23%的代碼屬于克隆代碼。但是,此類代碼實際應(yīng)用時的安全性、穩(wěn)定性較差,為規(guī)避故障在COPY條件下發(fā)生惡性傳播,需要對其實施全方位檢測,進(jìn)而根據(jù)大量數(shù)據(jù)挖掘分析形成的報表,更為安全地使用此類克隆代碼。以軟件編寫程序代碼中的語句分析判斷為例,應(yīng)用基于文本對比的方法或者基于標(biāo)識符對比的方法時,通常借助Hash函數(shù)、Duple工具、CCFinder工具等,保障字符串匹配效率與對比合理性,完成對克隆代碼檢測。

3.2 以程序規(guī)約為例

程序規(guī)約是軟件工程開發(fā)的重要組成部分,設(shè)計者應(yīng)用數(shù)據(jù)挖掘技術(shù)時可通過全面跟蹤軟件程序執(zhí)行情況的方式,對其代碼中展示的協(xié)議進(jìn)行監(jiān)測、預(yù)警。應(yīng)用時,設(shè)計者需要先通過執(zhí)行跟蹤信息進(jìn)行“逆向建模”,再通過模型分析精準(zhǔn)地了理解程序、驗證協(xié)議,然后為其提供所需維護(hù)方案。操作主要分為三個步驟:一是操作者針對其系統(tǒng)進(jìn)行“初步插裝”;二是記錄系統(tǒng)對API、運行狀態(tài)變量的具體數(shù)值;三是通過過濾、聚類、約簡完成處理數(shù)據(jù)挖掘的跟蹤數(shù)據(jù),形成規(guī)約模型。從程序規(guī)約數(shù)據(jù)挖掘流程方面看,設(shè)計者可以選擇序列圖形式,在時態(tài)邏輯表達(dá)方式下,提前發(fā)現(xiàn)風(fēng)險事件并預(yù)測結(jié)果事件等。需要指出的是,在API中應(yīng)用上述模型挖掘結(jié)果,能為系統(tǒng)安全操作提供精準(zhǔn)指導(dǎo)[4]。

3.3 以軟件版本控制信息為例

一般而言,在軟件工程技能層面,設(shè)計者對軟件版本控制信息的技能價值分析與挖掘比較缺乏,但是設(shè)計過程中不能繞開它為軟件開發(fā)提供版本更新信息。從現(xiàn)階段國內(nèi)的軟件工程開發(fā)經(jīng)驗看,設(shè)計者通常使用本地控制系統(tǒng)對軟件版本進(jìn)行管理與保護(hù)。其中,設(shè)計者應(yīng)用數(shù)據(jù)挖掘技術(shù)時,主要通過統(tǒng)籌管理編輯人員共同編輯檔案,使軟件版本始終保持統(tǒng)一性與一致性,滿足軟件版本控制信息專項化管理要求,進(jìn)而為整體軟件工程后續(xù)的更新創(chuàng)建條件。具體而言,圍繞數(shù)據(jù)在軟件工程版本控制信息中應(yīng)用數(shù)據(jù)挖掘技術(shù)時,設(shè)計者需要根據(jù)“業(yè)務(wù)問題理解→數(shù)據(jù)理解→數(shù)據(jù)準(zhǔn)備→建模→評估→模型部署”等不同階段,控制其應(yīng)用質(zhì)量,才能保障軟件版本控制信息的挖掘效果。具體如下:

(1)以數(shù)據(jù)理解階段與數(shù)據(jù)準(zhǔn)備階段為例,側(cè)重于全面而系統(tǒng)地收集各項數(shù)據(jù),并完成對解決問題中所需數(shù)據(jù)收集情況的檢查。該階段是數(shù)據(jù)準(zhǔn)備的前提條件,工作人員為保障數(shù)據(jù)挖掘效率,往往需要進(jìn)行多次準(zhǔn)備,提高其數(shù)據(jù)質(zhì)量、控制目標(biāo)分析精準(zhǔn)性。例如,在噪聲數(shù)據(jù)方面,涉及重復(fù)記錄、錯誤屬性值,工作人員只有經(jīng)過多次準(zhǔn)備后才能獲取相對平滑的數(shù)據(jù),即所謂的高質(zhì)量數(shù)據(jù)。再如,數(shù)據(jù)準(zhǔn)備期間的數(shù)據(jù)轉(zhuǎn)化十分關(guān)鍵,需要使用均值或者相似實例“對應(yīng)值”取代“含缺失值”的記錄,該方面受到內(nèi)容多、正則化要求高等因素影響,對數(shù)據(jù)理解與數(shù)據(jù)準(zhǔn)備形成了較大阻礙。因而,在上述階段通過數(shù)據(jù)挖掘才能規(guī)避其中的錯誤。

(2)以建模階段與評估階段為例,建立時主要通過仿真軟件對軟件工程實際情況進(jìn)行模擬分析,當(dāng)前仿真軟件種類較多,參數(shù)校準(zhǔn)相對容易。但是,此類工程中牽涉相同數(shù)據(jù)的挖掘與不同數(shù)據(jù)的挖掘問題,因而,為提高數(shù)據(jù)挖掘精度,要求配套設(shè)置多種建模方式創(chuàng)建多個模型。為保障建模成功,設(shè)計者一般會對其中的建模數(shù)據(jù)、建模精度等開展指標(biāo)化的細(xì)致評估,并在保障建立模型有效的前提下開展建模部署工作。

(3)以建模部署階段為例,雖然該階段僅為數(shù)據(jù)挖掘的一個重要構(gòu)成環(huán)節(jié)或應(yīng)用手段,但是始終與數(shù)據(jù)挖掘目標(biāo)相一致[5]。實踐經(jīng)驗表明,建模部署的關(guān)鍵是讓潛在的數(shù)據(jù)價值通過明確的信息與知識顯現(xiàn)出來,因而在建模部署時應(yīng)根據(jù)數(shù)據(jù)類型、數(shù)據(jù)量、數(shù)據(jù)挖掘目標(biāo)等,選擇合適的組織方式,確保呈現(xiàn)出來的信息與知識能夠用于軟件工程改善運營與提升效率。

3.4 以軟件系統(tǒng)漏洞檢測為例

軟件系統(tǒng)漏洞檢測是現(xiàn)代軟件工程中應(yīng)用數(shù)據(jù)挖掘技術(shù)的方向之一,重點放在對其系統(tǒng)潛在漏洞與安全風(fēng)險的監(jiān)測、預(yù)警、識別、分析等方面,旨在提升軟件產(chǎn)品的安全性。具體應(yīng)用如下:

(1)挖掘代碼并應(yīng)用程序數(shù)據(jù)分析,識別潛在的代碼漏洞。例如,源代碼與二進(jìn)制代碼是軟件系統(tǒng)常用代碼,在編寫與使用期間不排除其中存在不安全的函數(shù)調(diào)用、代碼注入、緩沖區(qū)溢出等安全問題,此時可以利用靜態(tài)分析技術(shù)加以解決。再如,程序運行期間始終處于變動狀態(tài),可以利用動態(tài)分析技術(shù)針對其中的執(zhí)行路徑、輸入輸出數(shù)據(jù)的變化情況進(jìn)行監(jiān)控,實時預(yù)測其中可能出現(xiàn)的漏洞與異常行為等。

(2)挖掘漏洞采用不同的方法,降低了解漏洞和修復(fù)成本。建議設(shè)計者選擇安全通告挖掘、安全補(bǔ)丁查巡、漏洞數(shù)據(jù)庫技術(shù)等,或者借當(dāng)前人工智能技術(shù)快速發(fā)展及融合應(yīng)用之機(jī),針對已知漏洞及其分布狀態(tài)設(shè)置的漏洞檢測策略,進(jìn)而使整個漏洞檢查過程變得更加精確。例如,對AI機(jī)器學(xué)習(xí)算法的應(yīng)用,有利于針對具體漏洞類型創(chuàng)建適配性較高的漏洞預(yù)測模型,從而借助對歷史漏洞數(shù)據(jù)與軟件特性的預(yù)測,提高漏洞檢測效率,縮短修復(fù)時間。除此之外,軟件工程應(yīng)用對象、應(yīng)用場景不同時,往往會劃分出高、中、低不同程度的風(fēng)險代碼區(qū)域,在這種情況下,工作人員可以嘗試加強(qiáng)相關(guān)漏洞模塊與代碼的測試與審核力度,從側(cè)面加強(qiáng)漏洞檢測,為及時發(fā)現(xiàn)其中潛在隱患提供助力[6]。

4 結(jié)束語

綜上所述,數(shù)據(jù)挖掘技術(shù)內(nèi)涵豐富、運行流程標(biāo)準(zhǔn),在軟件工程開發(fā)設(shè)計及實施等各個層面發(fā)揮著重要作用。無論從數(shù)據(jù)管理、軟件性能優(yōu)化,還是用戶需求分析及行為預(yù)測方面看,在新時期的軟件工程高質(zhì)量開發(fā)與高水準(zhǔn)運營期間,增強(qiáng)對該技術(shù)的應(yīng)用具有十分重要的現(xiàn)實意義。建議設(shè)計者實踐時盡可能遵循思路決定出路的大原則,一方面做好針對此類工程中所需的數(shù)據(jù)采集、存儲、傳輸、提取、分析、生成報表等數(shù)字化建設(shè)工作。另一方面按軟件工程設(shè)計需求引入相關(guān)的數(shù)據(jù)挖掘技術(shù),進(jìn)而在提高設(shè)計全要素生產(chǎn)率的前提下,輔助其產(chǎn)出綜合效益。

參考文獻(xiàn)

[1] 劉利民,張勇.多標(biāo)簽隱性知識顯性化下的數(shù)據(jù)挖掘算法[J].計算機(jī)仿真,2023,40(4):504-508.

[2] 邢穎.基于可解釋性人工智能的軟件工程技術(shù)方法綜述[J].計算機(jī)科學(xué),2023,50(5):3-11.

[3] 張昱.需求一致性的軟件工程方法[J].計算機(jī)應(yīng)用與軟件,2023,40(7):13-17.

[4] 陳立.試論數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用[J].信息系統(tǒng)工程,2023,14(9):39-42.

[5] 陳震鵬,姚惠涵,曹雁彬,等.面向軟件工程的情感分析技術(shù)研究[J].軟件學(xué)報,2023,34(5):2218-2230.

[6] 賈潤亮.大數(shù)據(jù)下軟件工程技術(shù)的運用研究[J].軟件,2023,44(8):130-132.

海晏县| 九台市| 合山市| 土默特右旗| 禹城市| 曲沃县| 莱阳市| 鄂尔多斯市| 巴彦淖尔市| 潞城市| 铜鼓县| 巴青县| 宝清县| 阿坝县| 江孜县| 夏河县| 麦盖提县| 铜山县| 乌拉特后旗| 卢湾区| 宁城县| 绵阳市| 丰顺县| 翁牛特旗| 黄陵县| 响水县| 喜德县| 辉南县| 嵩明县| 城市| 铁岭市| 千阳县| 白山市| 屯昌县| 调兵山市| 龙陵县| 云林县| 榆社县| 临泽县| 临高县| 义乌市|