版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
(19)國家知識產權局(12)發(fā)明專利地址美國紐約阿芒克GO6N20/00(2019.01)審查員鄒小彬專利代理師馬明月一種用于標識棄用的源代碼在軟件倉庫中一種用于標識棄用的源代碼在軟件倉庫中器學習模型棄用的軟件源代碼來解析一個或多告負責維護使用棄用的軟件源代碼的軟件源代一一個或多個軟件開發(fā)方推薦用于在軟件源代利用針對棄用的軟件的機器學習模型來解析軟件存儲庫502向軟件開發(fā)方警告所標識的、棄用的軟件源代碼的使用504向軟件開發(fā)方推薦備選軟件50621.一種用于標識棄用的軟件源代碼在軟件倉庫中的使用的計算機實現(xiàn)的方法,所述計由一個或多個處理器針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫,其中所述機器學習模型利用靜態(tài)源代碼并且不注入棄用的源代碼而被訓響應于標識棄用的軟件源代碼,由所述一個或多個處理器警告第一一個或多個軟件開由所述一個或多個處理器向所述第一一個或多個軟件開發(fā)方推薦用于在所述軟件源其中,所述備選軟件源代碼的所述推薦包括測試程序和利用所述備選軟件源代碼替換5.根據權利要求1所述的計算機實現(xiàn)的方法,其中所述備選軟件源代碼基于多個倉庫6.根據權利要求1所述的計算機實現(xiàn)的方法,其中所述備選軟件源代碼由第二一個或多個軟件開發(fā)方所選擇,所述第二一個或多個軟件開發(fā)方負責支持所述棄用的軟件源代7.一種用于標識棄用的軟件源代碼在軟件倉庫一個或多個非暫態(tài)計算機可讀存儲介質和存儲在所述一個或多個非暫態(tài)計算機可讀用于針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫的響應于標識棄用的軟件源代碼,用于警告第一一個或多個軟件開發(fā)方的程序指令,所及用于向所述第一一個或多個軟件開發(fā)方推薦用于在所述軟件源代碼模塊中使用的備3其中,所述備選軟件源代碼的所述推薦包括測試程序和利用所述備選軟件源代碼替換所述棄用的軟件源代碼所需的測試級別的指示,其中所述測試級別基于與所述備選軟件源代碼相關聯(lián)的數據而被確定,所述數據包括:所述備選軟件源代碼已經可用的時間長度、所述備選軟件源代碼的安裝使用數目、所述備選軟件源代碼的質量評級、所述備選軟件源代碼中被校正的異常的數目、以及所述備選軟件源代碼中被校正的異常的比率的趨勢。8.根據權利要求7所述的計算機程序產品,還包括:用于利用突出顯示來顯示所述棄用的軟件源代碼的程序指令。9.根據權利要求7所述的計算機程序產品,其中所述警告還包括:向第二一個或多個軟件開發(fā)方通知使用所述棄用的軟件源代碼的所述第一一個或多個軟件開發(fā)方的身份,所述第二一個或多個軟件開發(fā)方負責支持所述棄用的軟件源代碼。10.根據權利要求7所述的計算機程序產品,其中所述警告還包括:向所述第一一個或多個軟件開發(fā)方提供信息,所述信息包括所述棄用的軟件源代碼為何不再被支持以及所述棄用的軟件源代碼何時不再被支持。11.根據權利要求7所述的計算機程序產品,其中所述備選軟件源代碼基于多個倉庫的機器學習而被確定。12.根據權利要求7所述的計算機程序產品,其中所述備選軟件源代碼由第二一個或多個軟件開發(fā)方所選擇,所述第二一個或多個軟件開發(fā)方負責支持所述棄用的軟件源代碼。13.一種用于標識棄用的軟件源代碼在軟件倉庫中的使用的計算機系統(tǒng),所述計算機一個或多個計算機處理器;一個或多個計算機可讀存儲介質;以及存儲在所述一個或多個計算機可讀存儲介質上的程序指令,所述程序指令用于由所述一個或多個處理器中的至少一個處理器執(zhí)行,所述程序指令包括:用于針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫的程序指令,其中所述機器學習模型利用靜態(tài)源代碼并且不注入棄用的源代碼而被訓練;響應于標識棄用的軟件源代碼,用于警告第一一個或多個軟件開發(fā)方的程序指令,所述第一一個或多個軟件開發(fā)方負責維護使用所述棄用的軟件源代碼的軟件源代碼模塊;以及用于向所述第一一個或多個軟件開發(fā)方推薦用于在所述軟件源代碼模塊中使用的備選軟件源代碼,以替換所述棄用的軟件源代碼的程序指令,其中,所述備選軟件源代碼的所述推薦包括測試程序和利用所述備選軟件源代碼替換所述棄用的軟件源代碼所需的測試級別的指示,其中所述測試級別基于與所述備選軟件源代碼相關聯(lián)的數據而被確定,所述數據包括:所述備選軟件源代碼已經可用的時間長度、所述備選軟件源代碼的安裝使用數目、所述備選軟件源代碼的質量評級、所述備選軟件源代碼中被校正的異常的數目、以及所述備選軟件源代碼中被校正的異常的比率的趨勢。14.根據權利要求13所述的計算機系統(tǒng),還包括:用于利用突出顯示來顯示所述棄用的軟件源代碼的程序指令。15.根據權利要求13所述的計算機系統(tǒng),其中所述警告還包括:向第二一個或多個軟件開發(fā)方通知使用所述棄用的軟件源代碼的所述第一一個或多個軟件開發(fā)方的身份,所述第4二一個或多個軟件開發(fā)方負責支持所述棄用的軟件源代碼。16.根據權利要求13所述的計算機系統(tǒng),其中所述警告還包括:向所述第一一個或多個軟件開發(fā)方提供信息,所述信息包括所述棄用的軟件源代碼為何不再被支持以及所述棄用的軟件源代碼何時不再被支持。17.根據權利要求13所述的計算機系統(tǒng),其中所述備選軟件源代碼基于多個倉庫的機器學習而被確定或者由第二一個或多個軟件開發(fā)方所選擇,所述第二一個或多個軟件開發(fā)方負責支持所述棄用的軟件源代碼。5技術領域[0001]本發(fā)明一般涉及軟件維護,尤其涉及跟蹤被棄用的的軟件并且基于使用來提供軟件測試指導。背景技術[0002]開發(fā)中的軟件、編程語言及其相應的庫可能經歷自發(fā)的改變,迫使軟件開發(fā)團隊將代碼更新到最新版本。當軟件開發(fā)團隊由于誤導優(yōu)先級或資源約束而無法跟上這些改變的步伐時,他們可能將其代碼暴露于軟件漏洞。此外,軟件測試是永久任務,它增加了軟件發(fā)布之間的時間,并且從其它軟件相關任務中耗盡資源。[0003]軟件開發(fā)領域缺少跟蹤跨組織的共享軟件的使用的工具,這些工具涉及棄用的軟件模塊的使用和移除以及與軟件組件相關的預測,以及相信特定軟件模塊在產品發(fā)布之前或作為庫被充分測試所需的測試量。發(fā)明內容[0004]根據本發(fā)明的實施例,一種用于標識棄用的軟件源代碼在軟件倉庫中的使用的計算機實現(xiàn)的方法,計算機實現(xiàn)的方法包括:由一個或多個處理器針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫;響應于標識棄用的軟件源代碼,由一個或多個處理器警告第一一個或多個軟件開發(fā)方,該第一一個或多個軟件開發(fā)方負責維護使用棄用的軟件源代碼的軟件源代碼模塊;以及由一個或多個處理器向第一一個或多個軟件開發(fā)方推薦用于在軟件源代碼模塊中使用的備選軟件源代碼,以替換被棄用的軟件源代碼。[0005]根據本發(fā)明的實施例,一種用于標識棄用的軟件源代碼在軟件倉庫中的使用的計算機程序產品,計算機程序產品包括:一個或多個非暫態(tài)計算機可讀存儲介質和存儲在一個或多個非暫態(tài)計算機可讀存儲介質上的程序指令,程序指令包括:用于針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫的程序指令;響應于標識棄用的軟件源代碼,用于警告第一一個或多個軟件開發(fā)方的程序指令,該第一一個或多個軟件開發(fā)方負責維護使用棄用的軟件源代碼的軟件源代碼模塊;以及用于向第一一個或多個軟件開發(fā)方推薦用于在軟件源代碼模塊中使用的備選軟件源代碼,以替換棄用的軟件源代碼的程序指令。[0006]根據本發(fā)明的實施例,一種用于標識棄用軟件源代碼在軟件倉庫中的使用的計算機系統(tǒng),計算機系統(tǒng)包括:一個或多個計算機處理器;一個或多個計算機可讀存儲介質;以及存儲在一個或多個計算機可讀存儲介質上以供一個或多個處理器中的至少一個處理器執(zhí)行的程序指令,程序指令包括:用于針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫的程序指令;響應于標識棄用的軟件源代碼,用于警告第一一個或多個軟件開發(fā)方的程序指令,該第一一個或多個軟件開發(fā)方負責維護使用棄用的軟件源代碼的軟件源代碼模塊;以及用于向第一一個或多個軟件開發(fā)方推薦用于在軟件源代碼模6塊中使用的備選軟件源代碼,以替換棄用的軟件源代碼的程序指令。[0007]從以下詳細描述中,本發(fā)明的其它方面和實施例將變得明顯,當結合附圖時,以下詳細描述通過示例的方式示出了本發(fā)明的原理。附圖說明[0008]圖1描繪了根據本發(fā)明實施例的云計算環(huán)境。[0009]圖2示出了根據本發(fā)明實施例的抽象模型層。[0010]圖3是根據本發(fā)明實施例的高級架構。[0011]圖4是根據本發(fā)明實施例的示例性詳細架構。[0012]圖5是根據本發(fā)明實施例的方法的流程圖。[0013]圖6是根據本發(fā)明實施例的其中可以實現(xiàn)本文所描述的實施例的數據處理系統(tǒng)的內部和外部組件的框圖。具體實施方式[0014]以下描述是為了說明本發(fā)明的一般原理,而不是為了限制本文所要求保護的發(fā)明概念。此外,本文所述的特定特征可以與其它所述特征以各種可能的組合和排列組合使用。[0015]除非本文另有明確定義,否則所有術語將被給予其最廣泛的可能解釋,包括說明書中暗示的含義以及本領域技術人員理解的和/或詞典、論文等中定義的含義。[0017]以下描述公開了基于企業(yè)廣泛使用來標識源代碼模塊所需的棄用的源代碼模塊、源代碼冗余模塊以及預測測試級別的多個實施例。應當注意,本文所使用的術語“軟件”包括任何類型的計算機指令,例如但不限于固件[0018]本發(fā)明的實施例可以基于機器學習來提供棄用的源代碼的片段的預測。預測可以包括潛在的解決方案,即,基于源代碼替換相同應用或不同應用的其他部分中的相同或相似源代碼,來替換棄用的的源代碼。實施例可以使用靜態(tài)源代碼來訓練模型,并且不注入任何棄用的源代碼用于訓練。[0019]在另一方面,實施例可以提供針對替換棄用的源代碼的源代碼所需的測試量的預測。測試量基于諸如但不限于采用替換源代碼的位置的數目、替換源代碼已經被部署在類似功能區(qū)域中的時間長度、對替換源代碼的調用量等因素。[0020]在一個通用實施例中,一種計算機實現(xiàn)的方法包括:由一個或多個處理器針對被標識為由機器學習模型棄用的軟件源代碼來解析一個或多個軟件倉庫;響應于標識棄用的軟件源代碼,由一個或多個處理器警告一個或多個軟件開發(fā)方,該一個或多個軟件開發(fā)方負責維護包含棄用的軟件源代碼模塊;以及由一個或多個處理器推薦用于在軟件源代碼模塊中使用的備選軟件源代碼,以替換棄用的軟件源代碼。[0021]在另一通用實施例中,一種系統(tǒng)包括處理器和與處理器集成、可由處理器執(zhí)行、或者與處理器集成并且可由處理器集成執(zhí)行的邏輯。該邏輯被配置為執(zhí)行前述計算機實現(xiàn)的7方法。[0022]在另一通用實施例中,用于安裝時軟件驗證的計算機程序產品包括:具有隨其具化的程序指令的計算機可讀存儲介質。程序指令可由計算機執(zhí)行以使計算機執(zhí)行前述計算機實現(xiàn)的方法。[0023]應當理解,盡管本公開包括關于云計算的詳細描述,但是本文所陳述的教導的實現(xiàn)不限于云計算環(huán)境。相反,本發(fā)明的實施例能夠結合現(xiàn)在已知或以后開發(fā)的任何其它類型的計算環(huán)境來實現(xiàn)。[0024]云計算是服務遞送模型,用于實現(xiàn)對可配置計資源可以以最小的管理努力或與服務的提供方的交互來快速供應和釋放。該云模型可以包括至少五個特性、至少三個服務模型和至少四個部署模型。[0026]按需自助:云消費者可以單方面地自動地根據需要來提供計算能力,諸如服務器時間和網絡存儲,而不需要與服務的提供方進行人工交互。[0027]廣域網接入:能力在網絡上可用,并且通過促進由異構的薄或厚客戶端平臺(例[0028]資源池化:供應方的計算資源被池化以使用多租戶模型來服務多個消費者,其中不同的物理和虛擬資源根據需求被動態(tài)地分配和重新分配。存在位置無關的意義,因為消費者通常不控制或不知道所提供的資源的確切位置,但是能夠在較高抽象級別(例如國家、州或數據中心)指定位置。[0029]快速彈性:在一些情況下,可以快速并且彈性地提供快速向外擴展的能力和快速向內擴展的能力。對于消費者,可用于提供的能力通??雌饋聿皇芟拗?,并且可以在任何時間以任何數量購買。[0030]測量服務:云系統(tǒng)通過利用在適合于賬戶)的某一抽象級別的計量能力來自動地控制和優(yōu)化資源使用??梢员O(jiān)視、控制和報告資源使用,從而針對所利用服務的提供方和消費者兩者提供透明性。[0032]軟件即服務(SaaS):提供給消費者的能力是使用在云基礎設施上運行的提供方的應用。應用程序通過諸如web瀏覽器(例如,基于web的電子郵件)的瘦客戶機界面從各種客能力的底層云基礎結構,可能的例外是有限的用戶專用應用配置設置。[0033]平臺即服務(PaaS):提供給消費者的能力是將消費者創(chuàng)建或獲取的應用部署到云基礎設施上,該消費者創(chuàng)建或獲取的應用是使用由提供方支持的編程語言和工具來創(chuàng)建的。消費者不管理或控制包括網絡、服務器、操作系統(tǒng)或存儲的底層云基礎設施,但是具有對部署的應用和可能的應用托管環(huán)境配置的控制。[0034]基礎設施即服務(IaaS):提供給消費者的能力是提供處理、存儲、網絡和消費者能夠部署和運行任意軟件的其它基本計算資源,軟件可以包括操作系統(tǒng)和應用。消費者不管理或控制底層云基礎設施,但具有對操作系統(tǒng)、存儲、部署的應用的控制,以及可能對選擇的聯(lián)網組件(例如,主機防火墻)的有限控制。8[0036]私有云:云基礎設施僅針對組織操作。它可以由組織或第三方管理,并且可以存在于建筑物內或建筑物外。[0037]社區(qū)云:云基礎設施由若干組織共享,并且支求、策略和合規(guī)性考慮)的特定社區(qū)。它可以由組織或第三方管理,并且可以存在于場所內或場所外。[0038]公有云:云基礎設施可用于一般公眾或大型工業(yè)群體,并且由銷售云服務的組織[0039]混合云:云基礎設施是兩個或更多云(私有、共同體或公共)的組合,云保持唯一實體,但是通過使數據和應用能夠移植的標準化或私有技術(例如,針對云之間的負載平衡的云突發(fā))綁定在一起。[0040]云計算環(huán)境是面向服務的,其焦點在于無狀態(tài)、低耦合、模塊性和語義互操作性。在云計算的核心是包括互連節(jié)點的網絡的基礎設施。[0041]現(xiàn)在參考圖1,描繪了說明性云計算環(huán)境50。如圖所示,云計算環(huán)境50包括云消費者使用的本地計算設備可以與其通信的一個或多個云計算節(jié)點10,本地計算設備諸如例如個人數字助理(PDA)或蜂窩電話54A、臺式計算機54B、膝上型計算機54C和/或汽車計算機系統(tǒng)54N。節(jié)點10可以彼此通信。它們可以被物理地或虛擬地分組(未示出)在一個或多個網絡中,諸如如上文描述的私有云、社區(qū)云、公共云或混合云或其組合。這允許云計算環(huán)境50提供基礎設施、平臺和/或軟件作為服務,云消費者不需要針對其維護本地計算設備上的資源。應當理解,圖1中所示的計算設備54A-N的類型僅旨在說明,并且計算節(jié)點10和云計算環(huán)境50可以通過任何類型的網絡和/或網絡可尋址連接(例如,使用web瀏覽器)與任何類型的計算機化設備通信。[0042]現(xiàn)在參考圖2,示出了由云計算環(huán)境50(圖1)提供的功能抽象層集。應當預先理解,圖2中所示的組件、層和功能僅旨在說明,并且本發(fā)明的實施例不限于此。如所描繪的,提供了以下層和相應的功能:[0043]硬件和軟件層60包括硬件和軟件組件。硬件組件的示例包括主機61;基于RISC(精簡指令集計算機)架構的服務器62;服務器63;刀片服務器64;存儲裝置65;以及網絡和網絡組件66。在一些實施例中,軟件組件包括網絡應用服務器軟件67和數據庫軟件68。[0044]虛擬化層70提供抽象層,從該抽象層可以提供虛擬實體的以下示例:虛擬服務器71;虛擬存儲器72;虛擬網絡73,包括虛擬專用網絡;虛擬應用和操作系統(tǒng)74;以及虛擬客戶端75。[0045]在一個示例中,管理層80可以提供以下描述的功能。資源供應81提供用于在云計算環(huán)境內執(zhí)行任務的計算資源和其它資源的動態(tài)采購。計量和定價82提供了在云計算環(huán)境中利用資源時的成本跟蹤,以及用于消耗這些資源的開賬單或發(fā)票。在一個示例中,這些資源可以包括應用軟件許可證。安全性針對云消費者和任務提供身份驗證,以及針對數據和其他資源提供保護。用戶門戶83針對消費者和系統(tǒng)管理員提供對云計算環(huán)境的訪問。服務級別管理84提供云計算資源分配和管理,使得滿足所需的服務級別。服務水平協(xié)議(SLA)規(guī)劃和履行85提供對云計算資源的預安排和采購,其中根據SLA來預期未來需求。[0046]工作負載層90提供了可以利用云計算環(huán)境的功能的示例。可以從該層提供的工作9負載和功能的示例包括映射和導航91;軟件開發(fā)和生命周期管理92;虛擬教室教育遞送93;數據分析處理94;交易處理95;以及棄用的源代碼預測96。[0047]應當注意,本發(fā)明的實施例可以在用戶允許的情況下操作??梢栽谟脩敉獾那闆r下收集、存儲、分析任何數據等。在各種配置中,如本領域普通技術人員在閱讀本公開內容時將理解的,本發(fā)明的實施例中的至少一些實施例被實現(xiàn)為選擇應用、插件等。[0048]圖3是根據各種實施例的用于執(zhí)行圖5的各種操作的高級架構。在各種實施例中,架構300可以根據本發(fā)明在圖1至圖4中所描繪的任何環(huán)境中實現(xiàn)。當然,如本領域普通技術人員在閱讀本描述時將理解的,在架構300中可以包括比圖3中具體描述的元件更多或更少的元素。[0049]方法500的步驟中的每個步驟(下面進一步詳細描述)可以由架構300的任何合適的組件來執(zhí)行。在硬件和/或軟件中實現(xiàn)的并且優(yōu)選地具有至少一個硬件組件的處理器(例如,(多個)處理電路、(多個)芯片和/或(多個)模塊)可以在任何設備中使用,以執(zhí)行架構300中的方法500的一個或多個步驟。說明性處理器包括但不限于中央處理單元(CPU)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)等、其組合或本領域已知的任何其它合適的計算設備。[0050]架構300包括示出了基于本發(fā)明原理可以被應用于的企業(yè)廣泛使用環(huán)境來標識源代碼模塊所需的棄用的源代碼模塊、源代碼冗余模塊以及預測測試級別的示例性處理系統(tǒng)的框圖。架構300包括客戶計算機302、在服務器計算機304上操作的棄用的源代碼預測組件308、以及支持客戶計算機302和服務器計算機304之間的通信的網絡306。[0051]客戶計算機302可以是其上安裝了期望或要求更新的軟件的任何計算設備??蛻舭l(fā)送和處理數據的任何其他電子設備或計算系統(tǒng)。在其他實施例中,客戶計算機302可以表示利用多個計算機作為服務器系統(tǒng)的服務器計算系統(tǒng)。在另一實施例中,客戶端計算機302可以是膝上型計算機、平板計算機、上網本計算機、個人計算機、臺式計算機或能夠經由網絡306與用戶人物角色生成環(huán)境內的其他計算設備(未示出)通信的任何可編程電子設備。[0052]在另一實施例中,客戶計算機302表示利用群集化計算機和組件(例如,數據庫服務器計算機、應用程序服務器計算機等)的計算系統(tǒng),當在架構300的安裝時確認環(huán)境中訪問時,這些群集化計算機和組件擔當單個無縫資源池。客戶計算機302可以包括內部和外部硬件組件,如參考圖5更詳細地描繪和描述的。[0053]服務器計算機304可以是獨立的計算設備、管理服務器、web服務器、移動計算設備、或能夠接收、發(fā)送和處理數據的任何其他電子設備或計算系統(tǒng)。在其他實施例中,服務器計算機304可以表示利用多個計算機作為服務器系統(tǒng)的服務器計算系統(tǒng)。在另一實施例計算機、或能夠經由網絡306與架構300的安裝時驗證環(huán)境內的其他計算設備(未示出)通信的任何可編程電子設備。[0054]網絡306可以是例如局域網(LAN)、諸如互聯(lián)網的廣域網(WAN)、或兩者的組合,并且可以包括有線、無線、或光纖連接。通常,網絡306可以是支持客戶計算機302和服務器計算機304之間的通信的連接和協(xié)議的任何組合。[0055]在服務器計算機304上操作的棄用的源代碼預測組件308可以基于負責是或將變用的源代碼預測組件308可以手動或自動地作出關于棄用的源代碼的身份和范圍的確定?;跅売玫脑创a的預測身份,棄用的源代碼預測組件308可以基于在其中棄用的源代碼[0056]在另一方面,棄用的源代碼預測組件308可以提供單元級別上的預測以及對推薦替換棄用的源代碼的源代碼所需的功能測試。由棄用的源代碼預測組件308提供的推薦可以是用于基于遵循棄用的源代碼的推薦替換的實現(xiàn)來實現(xiàn)用于更新的測試過程的測試計[0058]方法500的每個步驟(下面進一步詳細描述)可以由架構400的任何合適的組件來500的一個或多個步驟。說明性處理器包括但不限于中央處理單元(CPU)、專用集成電路[0059]架構400提供了架構300的至少一些模塊的詳細視圖。架構400可以包括棄用的源代碼預測組件308,它還可以包括棄用的源代碼解析器組件402和棄用的源代碼替換組件[0060]棄用的源代碼分析器組件402可以使用機器學代碼解析器組件402可以使用由手動軟件開發(fā)方輸入準備的、隨后被標識為棄用的作為補組件402可以創(chuàng)建元數據文檔以概括棄用[0061]在另一方面,棄用的源代碼分析器組件402可以基于關于源代碼功能將一個倉庫[0062]棄用的源代碼替換組件404可以基于機器學習模型已經發(fā)位置、或者機器學習模型經由棄用的源代碼解析器組件402可訪問的其它倉庫中的棄用的源代碼替換組件404可以基于由軟件開發(fā)方手動輸入的替換軟件模塊身份來提供推薦,該11于評估。此外,棄用的源代碼替換組件404可以利用上述機器學習模型來創(chuàng)建功能上等效的源代碼以替換棄用的源代碼。[0063]此外,棄用的源代碼替換組件404可以使用元數據文檔來定位負責所標識的棄用的源代碼和/或系統(tǒng)組件的適當軟件開發(fā)方。在另一方面,棄用的源代碼替換組件404可以基于自動化工具,例如包括連續(xù)集成和連續(xù)部署流水線的工具,來警告所標識的軟件開發(fā)[0064]棄用的源代碼替換組件404可以向軟件源代碼的軟件開發(fā)方提供在它們向倉庫呈現(xiàn)的源代碼中使用的可視表示。例如,棄用的源代碼替換組件404可以顯示由軟件開發(fā)方呈現(xiàn)給倉庫的源代碼窗口,其中棄用的源代碼的部分被突出顯示。此外,棄用的源代碼替換組件404可以顯示可包括但不限于在棄用的源代碼被引退時通知軟件開發(fā)方以及針對棄用的源代碼進行引退的推理的信息。[0065]棄用的源代碼替換組件404可以提供對針對棄用的源代碼的源代碼替換所建議的測試級別(單元測試和功能測試兩者)的預測。棄用的源代碼替換組件404可以基于與所推薦的替換源代碼相關聯(lián)的數據來作出這些推薦,數據諸如但不限于替換源代碼已經可用的時間長度、替換源代碼的安裝使用的數目、替換源代碼的質量評級、替換源代碼中被校正的異常的數目、替換源代碼中被校正的異常的比率的趨勢等。[0066]圖5是用于基于企業(yè)廣泛使用來標識源代碼模塊所需的棄用的源代碼模塊、源代碼冗余模塊和預測測試級別的方法500的示例性流程圖。在步驟502處,實施例可以經由棄用的源代碼解析器組件402利用機器學習模型來解析軟件倉庫以找出棄用的軟件源代碼。在步驟504處,該實施例可以經由棄用的源代碼替換組件404向軟件開發(fā)方警告棄用的軟件源代碼的使用。在步驟506處,該實施例可以經由棄用的源代碼替換組件404向開發(fā)方推薦備選軟件源代碼。[0067]圖6描繪了計算機系統(tǒng)600,即代表客戶計算機302和服務器計算機304的示例計算機系統(tǒng)。計算機系統(tǒng)600包括通信結構602,其提供(多個)計算機處理器604、存儲器606、持久性存儲裝置608、通信單元610和(多個)輸入/輸出(I/0)接口612之間的通信。通信結構602可以利用被設計成在處理器(諸如微處理器、通信和網絡處理器等)、系統(tǒng)存儲器、外圍設備、以及系統(tǒng)內的任何其它硬件組件之間傳遞數據和/或控制信息的任何架構來實現(xiàn)。例如,通信結構602可以利用一個或多個總線來實現(xiàn)。信單元610、輸入/輸出(I/0)接口612和通信結構602。通信結構602提供高速緩存616、存儲器606、持久性存儲裝置608、通信單元610和輸入/輸出(I/0)接口612之間的通信。通信結構602可以利用被設計成在處理器(諸如,微處理器、通信和網絡處理設備、以及系統(tǒng)內的任何其它硬件組件之間傳遞數據和/或控制信息的任何架構來實現(xiàn)。例如,通信結構602可以用一個或多個總線或交叉開關來實現(xiàn)。[0069]存儲器606和持久性存儲裝置608是計算機可讀存儲介質。在該實施例中,存儲器606包括隨機存取存儲器(RAM)。通常,存儲器606可以包括任何合適的易失性或非易失性計算機可讀存儲介質。高速緩存616是通過保存最近訪問的數據和來自存儲器606的最近訪問的數據附近的數據來提高處理器604的性能的快速存儲器。[0070]用于實施本發(fā)明的實施例的程序指令和數據可以存儲在持久性存儲裝置608和存儲器606中,用于由相應的處理器604中的一個或多個處理器經由高速緩存616來執(zhí)行。在實施例中,持久性存儲裝置608包括磁硬盤驅動器。備選地,或作為磁硬性存儲裝置608可以包括固態(tài)硬盤驅動器、半導體存儲設備、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM)、閃存或能夠存儲程序指令或數字信息的任何其它計算機可讀存儲[0071]由持久性存儲裝置608使用的介質也可以是可移動的。例如,可移動硬盤驅動器可以用于持久性存儲裝置608。其它示例包括光盤和磁盤、拇指驅動器和智能卡,它們被插入到驅動器中用于傳送到也是持久性存儲裝置608的部分的另一計算機可讀存儲介質上。[0072]在這些示例中,通信單元610提供與其他數據處理系統(tǒng)或設備的通信。在這些示例中,通信單元610包括一個或多個網絡接口卡。通信單元610可以通過使用物理通信鏈路和無線通信鏈路中的一個鏈路或兩者來提供通信。用于實踐本發(fā)明的實施例的程序指令和數據可以通過通信單元610下載到持久性存儲裝置608。[0073](多個)I/0接口612允許與可以連接到每個計算機系統(tǒng)的其它設備輸入和輸出數的外部設備618的連接。外部設備618還可以包括便攜式計算機可讀存儲介質,例如拇指驅動器、便攜式光盤或磁盤、以及存儲卡。用于實踐本發(fā)明的實施例的軟件和數據可以被存儲在這樣的便攜式計算機可讀存儲介質上,并且可以經由(多個)I/0接口612加載到持久性存儲裝置608上。(多個)I/0接口612也連接到顯示器620。[0074]顯示器620提供向用戶顯示數據的機制,并且可以是例如計算機監(jiān)視器。[0075]本文所描述的組件是基于在本發(fā)明的特定實施例中實現(xiàn)它們的應用來標識的。然而,應當理解,本文中任何特定的構件命名僅為了方便而使用,且因此本發(fā)明不應限于僅在由這種命名所標識和/或暗示的任何特定應用中使用。[0076]本發(fā)明可以是任何可能的技術細節(jié)集成水平的系統(tǒng)、方法和/或計算機程序產品。計算機程序產品可以包括其上具有計算機可讀程序指令的計算機可讀存儲介質(或多個介質),計算機可讀程序指令用于使處理器執(zhí)行本發(fā)明的各方面。[0077]計算機可讀存儲介質可以是能夠保留和存儲由指令執(zhí)行設備使用的指令的有形設備。計算機可讀存儲介質可以是例如但不限于電子存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或前述的任何合適的組合。計算機可讀存儲介質的更具體示例的非窮舉列表包括以下:便攜式計算機磁盤、硬盤、隨凹槽中的凸起結構的機械編碼裝置,以及上述的任何適當組合。如本文所使用的計算機可讀存儲介質不被解釋為暫態(tài)信號本身,諸如無線電波或其他自由傳播的電磁波、通過波導或其他傳輸介質傳播的電磁波(例如,通過光纖線纜的光脈沖)、或通過導線傳輸的電信號。[0078]本文所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到相應的計換機、網關計算機和/或邊緣服務器。每個計算/處理設備中的網絡適配卡或網絡接口從網絡接收計算機可讀程序指令,并且轉發(fā)計算機可讀程序指令以用于存儲在相應計算/處理設備內的計算機可讀存儲介質中。[0079]用于執(zhí)行本發(fā)明的操作的計算機可讀程序指令可以是匯編指令、指令集架構一種或多種編程語言(包括面向對象的編程語言,諸如Smalltalk、C++等)和過程編程語言(諸如“C”編程語言或類似的編程語言)的任意組合編寫的源代碼或目標代碼。計算機可讀程序指令可以完全在用戶的計算機上執(zhí)行,部分在用戶的計算機上執(zhí)行,作為獨立的軟件包執(zhí)行,部分在用戶的計算機上并且部分在遠程計算機上執(zhí)行,或者完全在遠程計算機或服務器上執(zhí)行。在后一種情況下,遠程計算機可以通過任何類型的網絡連接到用戶的計算機,包括局域網(LAN)或廣域網(WAN),或者可以連接到外部計算機(例如,使用互聯(lián)網服務提供方通過互聯(lián)網)。在一些實施例中,為了執(zhí)行本發(fā)明的方面,包括例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可編程邏輯陣列(PLA)的電子電路可以通過利用計算機可讀程序指令的狀態(tài)信息來執(zhí)行計算機可讀程序指令以使電子電路個性化。[0080]在本文中參考根據本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產品的流程圖和/或框圖描述本發(fā)明的各方面。將理解,流程圖和/或框圖的每個框以及流程圖和/或框圖中的框的組合可以由計算機可讀程序指令來實現(xiàn)。[0081]這些計算機可讀程序指令可以被提供給計算機或其他可編程數據處理裝置的處理器以產生機器,使得經由計算機或其他可編程數據處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實現(xiàn)流程圖和/或框圖的一個或多個框中指定的功能/動作的部件。這些計算機可讀程序指令還可以存儲在計算機可讀存儲介質中,其可以引導計算機、可編程數據處理裝置和/或其他設備以特定方式工作,使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年蛋炒午餐肉食品加工機維修(加工機故障排除)試題及答案
- 2025年高職第一學年(家政服務)高端護理階段測試題及答案
- 2025年高職(應用化工技術)化工儀表試題及答案
- 2025年大學社會研究方法(調研數據處理)試題及答案
- 2025年中職機械類(機械制圖基礎)試題及答案
- 2025年中職非金屬材料(材料加工技術)試題及答案
- 2025年高職第二學年(康復治療技術)言語治療技術試題及答案
- 2025年高職電子信息工程技術(電子信息工程應用)試題及答案
- 2025年中職職業(yè)衛(wèi)生技術與管理(職業(yè)衛(wèi)生管理)期末試題
- 2025年高職(藥事管理與法規(guī))法規(guī)應用單元測試試題及答案
- 廣東省花都亞熱帶型巖溶地區(qū)地基處理與樁基礎施工技術:難題破解與方案優(yōu)化
- 生鮮乳安全生產培訓資料課件
- 基于知識圖譜的高校學生崗位智能匹配平臺設計研究
- GB 4053.3-2025固定式金屬梯及平臺安全要求第3部分:工業(yè)防護欄桿及平臺
- 2026年《必背60題》高校專職輔導員高頻面試題包含詳細解答
- 2026年八年級生物上冊期末考試試卷及答案
- 工程顧問協(xié)議書
- 2026年沃爾瑪財務分析師崗位面試題庫含答案
- GA 1016-2012槍支(彈藥)庫室風險等級劃分與安全防范要求
- 220kv輸電線路工程施工組織設計
- (完整)中考英語??嫉?00個高頻詞匯
評論
0/150
提交評論