申富饒,李 戈
1(計算機軟件新技術(shù)國家重點實驗室(南京大學(xué)),江蘇 南京 210023)
2(南京大學(xué) 計算機科學(xué)與技術(shù)系,江蘇 南京 210023)
3(北京大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100871)
4(高可信軟件技術(shù)教育部重點實驗室(北京大學(xué)),北京 100871)
智能化軟件新技術(shù)是使用人工智能與機器學(xué)習(xí)技術(shù)輔助軟件工程的新興技術(shù).近年來以深度學(xué)習(xí)為代表的人工智能技術(shù)飛速發(fā)展,在計算機科學(xué)的各個領(lǐng)域中都開始發(fā)揮重要作用.隨著軟件工程領(lǐng)域?qū)?shù)據(jù)積累的重視,人工智能技術(shù)在軟件開發(fā)過程中的應(yīng)用也逐漸增加.利用人工智能技術(shù)輔助軟件工程中的代碼編寫、糾錯、測試等具體工作,可以大量節(jié)省人工勞動,提升軟件開發(fā)效率.將人工智能技術(shù)更好地與軟件工程的各個環(huán)節(jié)相結(jié)合,進(jìn)一步提升軟件開發(fā)過程的自動化、智能化程度,是智能化軟件新技術(shù)研究的主要關(guān)注點.
本??_征文,共收到投稿37篇,其中32篇論文通過了形式審查,內(nèi)容涉及智能化軟件新技術(shù)的各個方面.特約編輯先后邀請了20多位專家參與審稿工作,每篇投稿至少邀請2位專家進(jìn)行評審.稿件經(jīng)初審、復(fù)審、全國軟件與應(yīng)用學(xué)術(shù)會議(NASAC 2018)宣讀和終審 4個階段,共歷時 5個月.26篇論文通過復(fù)審在 NASAC 2018會議上進(jìn)行報告并接受質(zhì)詢,最終有24篇論文通過終審,入選本專刊.本??饕ㄒ韵?個主題.
本主題收錄了5篇論文.《基于深度學(xué)習(xí)的程序生成與補全技術(shù)研究進(jìn)展》針對基于深度學(xué)習(xí)的自動化編程的兩種主要實現(xiàn)方式,即程序生成與代碼補全,進(jìn)行了廣泛的調(diào)研與綜述,揭示了該領(lǐng)域目前所面臨的困難和挑戰(zhàn),并提出了幾個未來的研究方向.本文對該領(lǐng)域內(nèi)研究現(xiàn)狀的分析總結(jié)有助于其他研究者在現(xiàn)有研究的基礎(chǔ)上改進(jìn)創(chuàng)新.《可微分抽象機混合編程系統(tǒng)》提出了一種可無縫結(jié)合高級編程語言與神經(jīng)網(wǎng)絡(luò)組件的混合編程模型.該模型可以同時使用過程化的高級編程語言元素和神經(jīng)網(wǎng)絡(luò)組件元素混合開發(fā)應(yīng)用程序,發(fā)揮并整合兩種編程方式各自的優(yōu)勢.《C/C++程序缺陷自動修復(fù)與確認(rèn)方法》針對C/C++程序的自動修復(fù)問題提出了一種基于機器學(xué)習(xí)和程序合成的解決方案,結(jié)合了深度學(xué)習(xí)技術(shù)進(jìn)行修復(fù)選項的生成,并據(jù)此實現(xiàn)了原型工具AutoGrader.《示例演化驅(qū)動的學(xué)生程序自動修復(fù)》針對學(xué)生程序設(shè)計應(yīng)用背景,研究程序自動修復(fù)方法,利用模板示例程序指導(dǎo)補丁的演化,基于自動的錯誤分離及程序變異設(shè)計了細(xì)致的修復(fù)方案.《基于頻繁模式挖掘的GCC編譯時能耗演化優(yōu)化算法》設(shè)計了一種基于頻繁模式挖掘的遺傳算法 GA-FP.該算法在演化過程中利用頻繁模式挖掘得到出現(xiàn)頻度高且能耗改進(jìn)大的一組編譯選項,并以此作為啟發(fā)式信息設(shè)計了“增添”和“刪減”兩種變異算子,以幫助提高解質(zhì)量和加快收斂速度.
本主題收錄了9篇論文.《即時軟件缺陷預(yù)測研究進(jìn)展》從即時缺陷預(yù)測技術(shù)的數(shù)據(jù)標(biāo)注、特征提取和模型評估等方面對即時缺陷預(yù)測研究進(jìn)展進(jìn)行綜述,并展望了即時缺陷預(yù)測的未來發(fā)展,對讀者掌握該領(lǐng)域的研究進(jìn)展非常有幫助.《基于特征遷移和實例遷移的跨項目缺陷預(yù)測方法》在跨項目軟件缺陷預(yù)測研究領(lǐng)域中提出了一種兩階段跨項目缺陷預(yù)測方法FeCTrA,同時考慮特征遷移和實例遷移兩個角度,減少兩個項目的數(shù)據(jù)分布差異性,提高缺陷預(yù)測精度.《C程序內(nèi)存泄漏智能化檢測方法》提出了一種內(nèi)存泄漏的智能化檢測方法,通過使用機器學(xué)習(xí)算法學(xué)習(xí)程序特征與內(nèi)存泄漏之間的相關(guān)性,構(gòu)建機器學(xué)習(xí)分類器并應(yīng)用機器學(xué)習(xí)分類器進(jìn)一步提高內(nèi)存泄漏靜態(tài)分析的準(zhǔn)確性.《基于深度學(xué)習(xí)的API誤用缺陷檢測》將深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于API使用規(guī)約的學(xué)習(xí)及API誤用缺陷的檢測,能夠在一定程度上實現(xiàn)API誤用缺陷的自動發(fā)現(xiàn),為開發(fā)者節(jié)省開發(fā)和維護(hù)的時間開銷.《一種基于深度學(xué)習(xí)的上帝類檢測方法》提出了一種基于特征類屬性和相關(guān)自然語言信息的上帝類檢測方法,并使用神經(jīng)網(wǎng)絡(luò)作為主要檢測的技術(shù)方法,其效果優(yōu)于現(xiàn)有的上帝類檢測方法,尤其是在查全率上有大幅度的提升.《基于維修日志的飛機設(shè)備故障原因判別方法》提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)對非結(jié)構(gòu)化文本提取文本特征建立字向量的方法,使用隨機森林算法對長期積累下來的飛機故障日志數(shù)據(jù)建立故障原因分類器,可以幫助維修人員盡快確定故障原因.《基于代價極速學(xué)習(xí)機的軟件缺陷報告分類方法》針對軟件開發(fā)中的Bug分類問題提出了一種基于代價ELM的方法,將Bug分為嚴(yán)重Bug和不嚴(yán)重的Bug兩類,將錯誤分類代價的概念引入ELM模型的損失函數(shù),重點解決了報告分類中的數(shù)據(jù)不平衡和數(shù)據(jù)量不足的問題.《基于嵌入模型的混合式相關(guān)缺陷關(guān)聯(lián)方法》針對自動化關(guān)聯(lián)相關(guān)缺陷報告的問題,提出了一種基于嵌入模型的方法,將相關(guān)缺陷自動關(guān)聯(lián)問題抽象為推薦問題,并且結(jié)合了傳統(tǒng)的信息檢索技術(shù)和深度學(xué)習(xí)中的嵌入模型,綜合了詞頻相似度、單詞相似度、文檔相似度,有效地提高了傳統(tǒng)方法的性能.《代碼壞味對軟件演化影響的實證研究》力求探究代碼壞味產(chǎn)生的影響以及壞味與軟件演化之間的關(guān)系,開展了關(guān)于代碼壞味對軟件演化的影響的實證研究,具體分析了代碼壞味與新增文件、修改文件和移除文件這3類具體源文件操作之間的相關(guān)性.
本主題收錄了 3篇論文.《面向持續(xù)集成測試優(yōu)化的強化學(xué)習(xí)獎勵機制》針對持續(xù)集成測試優(yōu)化問題,提出了一種包含測試用例歷史執(zhí)行信息的獎勵函數(shù)的強化學(xué)習(xí)方法,使用包含測試用例歷史失效信息的獎勵函數(shù),使檢錯能力得到明顯提高.《敏感變量和感知機結(jié)合的測試預(yù)言生成方法》提出了一種在已知部分測試用例集的情況下,基于敏感變量和線性感知機的新測試用例的測試預(yù)言自動生成方法,為測試預(yù)言缺乏的場景提供了解決思路.《基于SOM神經(jīng)網(wǎng)絡(luò)的二階變異體約簡方法》面向在軟件測試中具有重要意義的二階變異測試領(lǐng)域,詳細(xì)分析了影響條件下二階等價變異體的可能性因素,并基于這些因素提出了一種基于SOM神經(jīng)網(wǎng)絡(luò)的二階變異體約簡的方法.
本主題收錄了7篇論文.《基于圖嵌入的軟件項目源代碼檢索方法》將軟件項目代碼中的元素以圖的方式進(jìn)行組織,形成包含繼承、實現(xiàn)、成員等關(guān)系的軟件代碼圖,然后采用圖嵌入的方式計算結(jié)點之間的相關(guān)性,以支持查詢中子圖的生成與推薦.《企業(yè)級海量代碼的檢索與管理技術(shù)》設(shè)計實現(xiàn)了一個對大規(guī)模代碼庫進(jìn)行管理和搜索的工具平臺,通過爬取大量代碼、基于Elasticsearch工具設(shè)計了代碼搜索引擎,并進(jìn)一步研究了查詢變換、搜索策略和結(jié)果排序、摘要生成等技術(shù)以提高代碼搜索效果,在大型軟件企業(yè)中具有較為重要的應(yīng)用價值.《一種基于迭代的關(guān)系模型到本體模型的模式匹配方法》提出了一種考慮數(shù)據(jù)本地化特征的模式匹配算法,對單一模式匹配算法匹配不準(zhǔn)的成因進(jìn)行了較為深入的分析,并提出了一種迭代優(yōu)化的模式匹配方案,能夠更好地兼容數(shù)據(jù)源的本地化特征.《軟件開發(fā)活動數(shù)據(jù)的數(shù)據(jù)質(zhì)量問題》研究軟件工程中的數(shù)據(jù)質(zhì)量問題,通過分析現(xiàn)有文獻(xiàn),總結(jié)出了10種數(shù)據(jù)質(zhì)量問題,涵蓋了數(shù)據(jù)產(chǎn)生、數(shù)據(jù)收集和數(shù)據(jù)使用這3個階段,也提出了相應(yīng)的方法以幫助發(fā)現(xiàn)和解決數(shù)據(jù)問題,對其他研究人員有很大的參考價值.《基于本體推理的終端用戶數(shù)據(jù)查詢構(gòu)造方法》針對企業(yè)數(shù)據(jù)在進(jìn)行業(yè)務(wù)分析時,業(yè)務(wù)分析者無法直接使用數(shù)據(jù)庫查詢和使用數(shù)據(jù)的問題,提出了一種基于推理的終端用戶本體查詢構(gòu)造方法,能夠減少數(shù)據(jù)庫設(shè)計細(xì)節(jié)的暴露并使得終端用戶更易查詢和操縱數(shù)據(jù).《一種基于支持向量機和主題模型的評論分析方法》提出了一種結(jié)合分類和主題提取的用戶評論分析方法 RASL,用于從移動應(yīng)用的用戶所提供的大量無結(jié)構(gòu)化負(fù)面反饋評論中提取有效信息,為移動應(yīng)用開發(fā)者提供更為易讀且準(zhǔn)確的結(jié)構(gòu)化用戶評論,并且也為用戶評論的分組與記錄帶來好處.《基于多開發(fā)者社區(qū)的用戶推薦算法》針對開發(fā)者社區(qū)中的用戶標(biāo)簽自定化、不同社區(qū)的不對稱活躍現(xiàn)象和關(guān)鍵詞集封閉等問題,提出了一種跨社區(qū)的用戶推薦算法,旨在賦予用戶更加準(zhǔn)確的標(biāo)簽,進(jìn)而拓展可推薦用戶范圍并提升用戶推薦結(jié)果的準(zhǔn)確度.
本??饕嫦蛑悄芑浖录夹g(shù)領(lǐng)域,突出反映我國計算機軟件與人工智能學(xué)者在該領(lǐng)域的最新研究進(jìn)展.在此,我們特別感謝《軟件學(xué)報》編委會、中國計算機學(xué)會系統(tǒng)軟件專委會和軟件工程專委會對本??ぷ鞯闹笇?dǎo)、支持和幫助,感謝編輯部各位老師所付出的辛勤努力,感謝評審專家嚴(yán)謹(jǐn)、細(xì)致、及時的評審工作,感謝向本專刊積極投稿的所有作者,希望本??兄诖龠M(jìn)人工智能、軟件工程相關(guān)領(lǐng)域人員在智能化軟件新技術(shù)方面的研究與實踐工作.