應用系統分析工具幫助實現軟體自愈
越來越多的企業意識到軟體質量的重要性,軟體的安全性與效率成為一個公司成功運轉的關鍵因素。對企業而言資金不僅要投資到技術創新,大筆資金還應流向對原有系統和原有軟體產品的更術創新,還需在重構舊軟體上消耗精力與時間,如果軟體的自愈能力提高,這將將使開發團隊效率提高至少30%。
十年前的軟體技術水平已達到可以使用先進邏輯識別自己的故障,進行自我修復;如今將自我修復應用於當今世界,依賴技術來簡化軟體,已不是難點。軟體自愈/自我修復概念已經在基礎設施領域取得了實質性的進展,它能夠防止網路攻擊或者大面積系統中斷導致的客戶服務中斷等問題。數據中心配備故障切換指令,能夠自動保持系統正常運行;一般企業網路安裝足夠敏感的防火牆以檢測不遵常規協議的惡意攻擊。容器和雲服務的應用將更進一步防止應用程序和服務失敗,以及應對峰值交易數量的突然增加。將自我修復技術直接應用於源代碼,將有助於軟體的開發與改進。
以2010年IBM在以色列實施SHADOW項目為例,該項目提出了建立消除現代化和修復舊軟體的故障模型。過去,工程師需要花費大量時間與精力手動篩選舊代碼,只有檢測到代碼質量問題才予以修復,SHADOW項目提出模仿工程師的行為,將人工智慧原理應用於軟體,但該項目「從外部」工作,沒有修改源代碼,只有將工程師修改填寫代碼內容的行為導入到SHADOW項目,才能研發出自愈軟體系統。
SHADOW相當有潛力,但由於市場成本過高,該項目在當時的情況下,實施落地為時過早。主要原因是當時離岸外包處於高峰,維護舊軟體的工作多轉向低勞動力成本地區。如今,離岸外包的成本優勢不像過去那樣明顯,商業世界變得更加敏捷,企業更習慣於在IT系統的各個層級上自主快速地處理變化,而非依賴維護外包服務。現今再談軟體自愈,時機已成熟。
識別源代碼層的BUG
自我修復過程中的第一步是識別不安全程序或存在潛在風險的程序,但這些問題缺陷難以在前端識別,只有當應用程序處於運行中並發生問題的情況下才會被識別。MITRE的CWE和CISQ(IT軟體質量聯盟)已發布通用的軟體質量標準,幫助企業對軟體質量進行測試評估。系統效率、彈性、可維護性和安全性是構建自愈軟體的基礎。採用軟體質量標準對應用程序進行檢測,使研發人員可以從系統的視角進行趨勢分析,找出應用程序故障及服務中斷的常見原因,建立一個精確的、增長的缺陷代碼資料庫,也為機器學習進一步自動化分析和預測系統故障建立了基礎。
應用結構離散、分拆的同時需要有系統架構藍圖
已經開始實施微服務(Microservices)的團隊(包括將應用程序分解成更小、更容易變化的組件)將更容易實現非侵入式的自修復過程。但是,在某些時候,這些組件必須重新組合起來才能形成一個功能齊全的應用程序。將系統級分析作為一個質量檢驗關,然後將一個自修復的系統重新投入到生產中,將有效防止新的軟體缺陷或問題代碼重新回到系統中。另外,應用系統級分析工具在應用程序重新投入生產之前創建一個架構藍圖將更加有利於應用的系統化管理。CAST AIP(應用智能平台)的自動化檢測、分析以及生成架構藍圖的能力,使得這些步驟的實現變得輕而易舉。
軟體自愈—科技創新的跳板
結合自修復的自動化特性為企業創新打下良好的基礎。例如,編寫軟體以自我檢測報告不規律行為和不遵循規則的活動可以簡化應用向雲遷移的工作。目前,將軟體應用程序遷移到雲環境中,同時應用程序能夠正確地在雲中運行,需要對代碼進行單獨的分析和返工。如果這些雲應用程序可以自行分析並主動報告在遷移之前需要修復哪些內容,能省時省力的同時也能及時預防在雲轉換過程中出現的業務中斷。
鄭重聲明:中國軟體資訊網站刊登/轉載此文出於傳遞更多信息之目的 ,並不意味著贊同其觀點或論證其描述。中國軟體資訊網不負責其真實性 。


※5G、物聯網與移動化WebAR應用 將會引爆下一輪產業革新
※專訪漫畫家矩陣:Wacom影拓Pro是工具,更是朋友
※甲骨文總裁Thomas Kurian詮釋甲骨文的雲創新
※一夜之間50家店 宏圖三胞攜手樂語通訊送上新奇樂盛宴
TAG:中國軟體資訊網 |