软件学报  2019, Vol. 30 Issue (10): 3054-3055   PDF    
面向DevOps的软件工程新技术专题前言
荣国平1 , 白晓颖2 , 岳涛3     
1. 南京大学 软件学院, 江苏 南京 210046;
2. 清华大学 计算机科学与技术系, 北京 100084;
3. 南京航空航天大学 计算机科学与技术学院, 江苏 南京 210016
Special Topic On Emerging Software Engineering Technologies For Devops

软件互联网化和服务化, 催生并促进了持续软件工程(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在中国的发展现状及趋势, 帮助实践者和研究者建立整体理解, 并从实践与研究两方面提出了多项建议.

论文“限界上下文视角下的微服务粒度评估”, 结合几种主要的微服务划分原则, 从限界上下文视角对微服务架构的服务划分粒度问题进行了研究, 提出了微服务划分粒度的量化评估方法并实现了自动化评估模型.