榮國平,白曉穎,岳 濤
1(南京大學(xué) 軟件學(xué)院,江蘇 南京 210046)
2(清華大學(xué) 計算機科學(xué)與技術(shù)系,北京 100084)
3(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)
軟件互聯(lián)網(wǎng)化和服務(wù)化,催生并促進了持續(xù)軟件工程(continuous software engineering)的發(fā)展,即要求軟件系統(tǒng)持續(xù)在線演化的同時,還需要始終保證高可用性,不受系統(tǒng)功能的添加或者更新的影響.軟件系統(tǒng)的復(fù)雜性日益提升,質(zhì)量和安全要求越來越高,功能更新越來越快,傳統(tǒng)上軟件系統(tǒng)開發(fā)和運維割裂、各階段開發(fā)活動及團隊相互獨立的方式顯然已經(jīng)無法勝任互聯(lián)網(wǎng)模式下的軟件應(yīng)用形態(tài)變化和發(fā)展需求.DevOps 由此應(yīng)運而生.當(dāng)前,熱門的微服務(wù)軟件體系架構(gòu)、云計算基礎(chǔ)架構(gòu)、持續(xù)集成與持續(xù)部署、程序行為分析、大數(shù)據(jù)分析、智能運維等技術(shù),為DevOps 的實現(xiàn)創(chuàng)造了技術(shù)條件.有鑒于此,我們組織了本專題,重點關(guān)注DevOps 這種新型軟件開發(fā)和運維方式各個環(huán)節(jié)的方法、技術(shù)以及支持工具等.
本專題以面向DevOps 的軟件工程新技術(shù)為主題.采取公開征稿的方式,共有24 篇稿件通過了形式審查.之后,特約編輯先后邀請了多名本領(lǐng)域?qū)<覅⑴c審稿,每篇稿件至少邀請2 位專家進行評審,經(jīng)過兩輪評審后,最終有10 篇稿件通過評審,入選本專題.其中,
論文“自動化工具對中國DevOps 實踐的影響”,分析了目前DevOps 實踐中被研究者分析最多的自動化支持工具以及它們在國內(nèi)目前DevOps 實踐中出現(xiàn)的問題,并給出了解決這些問題的3 個建議和一個DevOps 轉(zhuǎn)型范例.
論文“基于符號執(zhí)行與模糊測試的混合測試方法”,提出一種模糊測試和符號執(zhí)行的混合測試方法:采用模糊測試技術(shù),通過隨機變異生成測試用例,覆蓋程序運行空間中較深的執(zhí)行路徑;采用符號執(zhí)行技術(shù)覆蓋復(fù)雜的條件分支路徑.兩種方法相互配合,在較小的代價下,大幅度提高了測試覆蓋率.論文工作實現(xiàn)了Afleer 原型系統(tǒng),并在實際項目中發(fā)現(xiàn)了新的軟件漏洞.
論文“軟件缺陷預(yù)測技術(shù)研究進展”,甄選了2010 年~2017 年間117 篇研究論文,基于軟件缺陷預(yù)測模型的框架,從缺陷數(shù)據(jù)集、模型構(gòu)建方法、評價指標(biāo)等方面,分析了已有工作成果.論文尤其針對缺陷數(shù)據(jù)集中數(shù)據(jù)質(zhì)量相關(guān)問題,如異常值、高維度、類不平衡、數(shù)據(jù)差異等問題,對相關(guān)研究進展進行了廣泛的調(diào)研和分析,對數(shù)據(jù)分析研究都具有借鑒意義.論文從演化預(yù)測模型、缺陷數(shù)和嚴重度預(yù)測模型、異構(gòu)數(shù)據(jù)模型、數(shù)據(jù)脫敏問題等方面,探討了進一步的研究方向.
論文“中文非功能需求描述的識別與分類方法研究”,提出一種自動的中文非功能需求識別和分類方法:識別方法是基于文本關(guān)鍵詞,應(yīng)用了HanLP、BoW 和TF-IDF 等當(dāng)前熱門技術(shù)和工具.分類過程包括分詞和提取關(guān)鍵詞、劃分關(guān)鍵詞類別、擴充特征詞、計算特征詞權(quán)重和文本分類5 個步驟,應(yīng)用了HanLP 等關(guān)鍵技術(shù),實現(xiàn)了將非功能需求語句劃分到性能、可靠性、可用性、安全性、可維護性這五大類非功能需求類型中.最終,該方法的有效性通過了一個工業(yè)界的實際應(yīng)用案例數(shù)據(jù)驗證.
論文“面向完整價值交付的文檔DevOps 應(yīng)用研究”,提出“文檔DevOps”的概念,旨在強調(diào)文檔在完整價值交付中的意義.文章提出了產(chǎn)品文檔持續(xù)交付的模式,在敏捷軟件開發(fā)方式的同時,建立工具鏈進行快速高效的用戶文檔開發(fā),保障文檔質(zhì)量與及時性.“文檔DevOps”是對傳統(tǒng)DevOps 的一個補充,在覆蓋的人員、支持的流程上,擴展了DevOps 方法的適用范圍.
論文“面向安卓應(yīng)用建模的IFML 擴展”,提出了一種以減輕安卓應(yīng)用開發(fā)人員負擔(dān)為目的、以模型來描述安卓應(yīng)用開發(fā)需求與設(shè)計的方法.該方法對前端展示和事件交互的交互流建模語言(IFML)進行了擴展,提高了其可用性與對安卓應(yīng)用的適用性.此外,文章表述的方法也進一步探索了IFML 模型在應(yīng)用測試這一場景中的作用,案例研究結(jié)果表明,擴展后的IFML 在安卓應(yīng)用的建模上可行、有效,所建立的IFML 模型可直接用于測試工作等.
論文“體現(xiàn)使用反饋的APP 軟件用戶評論挖掘”,提出了一種APP 軟件用戶評論挖掘方法,用于幫助APP 開發(fā)人員有針對性地維護和改進APP 軟件.其中,主要內(nèi)容包括定義評論種子且挖掘相關(guān)反饋類型的用戶評論、持續(xù)構(gòu)建候選評論模式庫、通過應(yīng)用半監(jiān)督自學(xué)習(xí)的方式動態(tài)擴充評論種子庫、動態(tài)擴大挖掘范圍.通過使用此方法的工具MUCBS 來實現(xiàn)對用戶評論的挖掘,論文作者對安卓電子市場的92 811 條用戶評論進行了挖掘.實驗結(jié)果表明,平均挖掘率達到77.82%.
論文“人機協(xié)作的用戶故事場景提取與迭代演進”以幫助開發(fā)者掌握項目的用戶故事需求為出發(fā)點,提出了敏捷軟件開發(fā)過程中,基于元模型的用戶故事理解、人機協(xié)同用戶故事整合、功能場景圖輔助的用戶故事間關(guān)系關(guān)聯(lián)和用戶故事迭代更新方法.論文作者通過一個在線購物系統(tǒng)案例對該方法的可行性進行了研究.實驗結(jié)果表明,所提出的用戶故事整合方法具有較好的效果,具備一定的可行性.
論文“DevOps 中國調(diào)查研究”,基于2016 年以來對國內(nèi)DevOps 實踐者的兩次問卷調(diào)查,定量分析了DevOps在中國的發(fā)展現(xiàn)狀及趨勢,幫助實踐者和研究者建立整體理解,并從實踐與研究兩方面提出了多項建議.
論文“限界上下文視角下的微服務(wù)粒度評估”,結(jié)合幾種主要的微服務(wù)劃分原則,從限界上下文視角對微服務(wù)架構(gòu)的服務(wù)劃分粒度問題進行了研究,提出了微服務(wù)劃分粒度的量化評估方法并實現(xiàn)了自動化評估模型.