以開源軟件為代表的互聯(lián)網(wǎng)軟件開發(fā)呈現(xiàn)了邊界開放、群體分散、交付頻繁、知識復(fù)雜等特征。與此同時,企業(yè)軟件開發(fā)也逐漸轉(zhuǎn)向以開發(fā)運維一體化(DevOps)為特征的云化開發(fā)平臺。這種網(wǎng)絡(luò)化開發(fā)方式產(chǎn)生了包含源代碼、缺陷報告、版本歷史、測試用例、部署信息及運行日志在內(nèi)的全生命周期數(shù)據(jù),其中蘊涵著大量的軟件開發(fā)知識。智能化軟件開發(fā)一直是軟件工程追求的核心目標(biāo)之一。隨著軟件開發(fā)大數(shù)據(jù)的不斷積累,數(shù)據(jù)驅(qū)動的智能化軟件開發(fā)技術(shù)研究已經(jīng)成為學(xué)術(shù)界和工業(yè)界共同關(guān)注的熱點問題。然而,軟件開發(fā)大數(shù)據(jù)的匯聚組織、知識提煉、軟件工具智能化和智能開發(fā)服務(wù)環(huán)境等仍然是亟待解決的問題。本專題匯集了國內(nèi)智能化軟件開發(fā)領(lǐng)域幾支活躍的研究團隊的7篇文章。這些團隊在國家重點研發(fā)計劃項目“基于大數(shù)據(jù)的軟件智能開發(fā)方法和環(huán)境”的支持下,在智能化軟件構(gòu)造、測試驗證、群體協(xié)作、運維演化4個方面針對軟件智能化開發(fā)服務(wù)進行了深入的研究。本專題反映了這些團隊在這幾個方面的研究成果以及對相關(guān)技術(shù)發(fā)展方向的觀點。
謝冰等人撰寫的《基于大數(shù)據(jù)的軟件智能化開發(fā)方法與環(huán)境》闡述了項目團隊圍繞軟件工程大數(shù)據(jù)的匯聚組織、知識表示提煉、軟件工具智能化和智能開發(fā)服務(wù)環(huán)境等關(guān)鍵技術(shù)開展的研究工作,以及構(gòu)建的軟件智能化開發(fā)環(huán)境和服務(wù)平臺。
鄒艷珍等人撰寫的《基于大數(shù)據(jù)的軟件項目知識圖譜構(gòu)造及問答方法》闡述了以代碼結(jié)構(gòu)為核心的軟件知識圖譜模型以及“知識抽取-知識融合”兩層軟件知識圖譜構(gòu)造框架,提出了軟件項目知識圖譜自動構(gòu)造方法以及基于知識圖譜的軟件項目智能問答方法。
彭鑫等人撰寫的《基于上下文的智能化代碼復(fù)用推薦》圍繞基于上下文的智能化代碼復(fù)用推薦這一問題,闡述了基于模板挖掘的代碼復(fù)用推薦和基于深度學(xué)習(xí)的代碼復(fù)用推薦兩方面的研究工作,并對基于上下文的智能化代碼復(fù)用推薦的未來發(fā)展方向進行了展望。
席圣渠等人撰寫的《基于大數(shù)據(jù)的開源項目缺陷報告智能預(yù)檢技術(shù)》提出了一種智能化缺陷報告預(yù)檢技術(shù)框架,歸納了缺陷報告預(yù)檢中存在的3個關(guān)鍵任務(wù)(缺陷優(yōu)先級分類、缺陷分派、缺陷再分派),同時結(jié)合開源項目的特點介紹了相關(guān)技術(shù)。
陳偉等人撰寫的《基于領(lǐng)域知識的Docker鏡像自動構(gòu)建方法》提出了一種基于領(lǐng)域知識的Docker鏡像自動構(gòu)建方法,并通過實驗驗證了該方法具有利用領(lǐng)域知識推斷系統(tǒng)依賴關(guān)系和軟件包安裝方式、生成不同軟件Dockerfile的能力。
張建等人撰寫的《數(shù)據(jù)驅(qū)動的軟件開發(fā)者智能協(xié)作技術(shù)》闡述了海量軟件開發(fā)者數(shù)據(jù)的收集和分析方法,定義了軟件開發(fā)者能力特征模型及協(xié)作關(guān)系模型,介紹了開發(fā)者知識圖譜構(gòu)建方法、基于智能推薦的協(xié)作開發(fā)方法以及所構(gòu)建的智能協(xié)作開發(fā)環(huán)境。
張洋等人撰寫的《面向智能化軟件開發(fā)的開源生態(tài)大數(shù)據(jù)》通過對軟件工程開源生態(tài)大數(shù)據(jù)體系的研究提出了一種自生長的采集處理框架與匯聚共享環(huán)境,闡述了基于軟件工程開源生態(tài)大數(shù)據(jù)的智能化軟件開發(fā)相關(guān)研究以及相關(guān)的分析挖掘方法典型應(yīng)用。
由于篇幅有限,本專題無法覆蓋數(shù)據(jù)驅(qū)動的軟件智能化開發(fā)的各個方面,希望通過分析當(dāng)前技術(shù)現(xiàn)狀、介紹已有研究進展、展望未來發(fā)展方向,闡述該領(lǐng)域面臨的機遇和挑戰(zhàn),引起學(xué)術(shù)界和產(chǎn)業(yè)界的關(guān)注,促進相關(guān)研究的發(fā)展以及研究成果在實踐中的應(yīng)用。