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