ISSN 1000-1239 CN 11-1777/TP

    2020面向服务的群智化生态化软件开发方法专题

    默认 最新文章 浏览次数
    Please wait a minute...
    选择: 显示/隐藏图片
    1. 2020面向服务的群智化生态化软件开发方法专题前言
    聂长海, 张路
    计算机研究与发展    2020, 57 (3): 459-460.   doi: 10.7544/issn1000-1239.2020.qy0301
    摘要687)   HTML55)    PDF (206KB)(376)   
    我们正在进入一个软件定义和使能一切的智能化时代,如何提高大规模复杂软件的开发效率、确保软件质量已成为各行各业创新和发展的核心竞争力. 近年来,云计算、大数据、人工智能和第五代移动通信(5G)等新技术的飞速发展更是深刻改变了人们应用和开发软件的方式,以服务化、群智化和生态化为代表的软件开发方法已成为现代软件开发的新趋势. 在此背景下,研究面向服务的群智化生态化软件开发方法,将来自多方面的先进理论方法进行有效融合创新、汇聚群体智慧、增强软件生态系统的自适应演化能力已成为国内外学术界和工业界研究的前沿和重点,如何有效组织、群体协作,构建健康可持续的软件生态系统仍是当前软件开发方法面临的重大挑战.
    相关文章 | 计量指标
    2. 基于混合神经网络和注意力机制的软件缺陷自动分派方法
    刘烨, 黄金筱, 马于涛
    计算机研究与发展    2020, 57 (3): 461-473.   doi: 10.7544/issn1000-1239.2020.20190606
    摘要583)   HTML23)    PDF (831KB)(364)   
    软件缺陷修复是软件质量保证的一个重要环节.在互联网上开源、开放的群智化软件开发环境中,提升缺陷分派的效率和效果,有助于提高缺陷修复率并降低维护成本.目前,基于机器学习的缺陷自动分派方法已成为主流技术,但也存在特征人工构建、文本表示能力不足等问题.近年来,鉴于深度学习在自然语言处理领域的成功应用,研究者尝试将深度学习技术引入缺陷分派任务中,使得缺陷修复者的预测效果有了显著提高.然而,不同类型的神经网络亦存在各自的局限性.针对上述问题,将缺陷自动分派任务视为文本分类问题,结合卷积神经网络、循环神经网络和注意力机制各自的优势,提出了一种基于混合神经网络和注意力机制的缺陷自动分派方法Atten-CRNN,能更有效地捕获缺陷报告的重要文本特征和序列特征,从而提供更精准的缺陷修复者推荐服务.在Eclipse和Mozilla两个大型的知名软件开源项目中进行了实证研究,在20万量级的缺陷报告上的实验结果表明:无论是否考虑注意力机制,Atten-CRNN的预测准确率要高于基于卷积神经网络和基于循环神经网络的基准模型.
    相关文章 | 计量指标
    3. 面向技术论坛的问题解答状态预测
    沈明珠, 刘辉
    计算机研究与发展    2020, 57 (3): 474-486.   doi: 10.7544/issn1000-1239.2020.20190625
    摘要390)   HTML9)    PDF (1858KB)(160)   
    当遭遇技术问题时,开发人员往往会在Stack Overflow等技术论坛上发布问题并等待回答.此类QA系统也是基于互联网的群智化软件开发的一个重要表现形式.但是论坛上提出的问题并不一定能够获得满意答案.因此,提出问题并被动地等待答案并不总是最佳策略.为此,提出了一种基于深度神经网络的方法以自动预测问题能否获得满意答案.提前预知问题能否及时获得有效答复,开发人员可以提前规划应对策略.该方法不仅充分利用了问题本身的文本信息,也将提问人员相关内容作为预测的主要依据.利用最新的深度学习技术,充分挖掘输入特征与问题解答状态之间的内在关联关系.在Stack Overflow提供的数据集上的实验结果表明:所提出的方法能够预测问题的解答情况,结果显示在预测问题是否有满意答案的查准率为58.87%、查全率为46.68%(随机猜测的查准率为38.77%,查全率为35.26%),并优于机器学习KNN和浅层神经网络FastText.
    相关文章 | 计量指标
    4. 基于群体智能的软件工程方法综述
    徐立鑫, 吴化尧
    计算机研究与发展    2020, 57 (3): 487-512.   doi: 10.7544/issn1000-1239.2020.20190626
    摘要751)   HTML34)    PDF (1354KB)(731)   
    基于群体智能的软件工程旨在利用潜在高效的群体智能方法来解决软件工程问题,其中群体智能方法不仅包括机器群体智能,还包括人类群体智能以及人机结合群体智能.基于群体智能的软件工程研究为解决复杂软件工程问题提供了新的思路,已成为现代软件工程的重要组成部分.以软件工程生命周期中的需求分析、设计、构造、测试和维护为主线,系统梳理和总结不同层次群体智能方法在上述软件开发活动上的应用.在此基础上,为不同层次群体智能方法间的相互借鉴与转化提供参考,并探讨基于群体智能的软件工程的未来发展趋势和挑战.
    相关文章 | 计量指标
    5. GitHub中软件生态系统的演化
    齐晴, 曹健, 刘妍岑
    计算机研究与发展    2020, 57 (3): 513-524.   doi: 10.7544/issn1000-1239.2020.20190615
    摘要704)   HTML23)    PDF (3585KB)(240)   
    大多数软件项目都是相互依赖的,因此对软件生态系统的分析吸引了许多研究人员的兴趣.近年来,除了分析一些著名的软件生态系统外,研究人员还对GitHub中的软件生态系统及其功能进行了研究.然而,GitHub中软件生态系统发展的基本过程以及其演化的原因尚未引起广泛关注,当前研究对GitHub中的软件生态系统演化进行了深入研究.首先基于动态社区发现方法检测GitHub中不断演化的生态系统,然后识别并比较GitHub中的不同演化事件.通过演化过程示意图直观地展示了从2015年到2018年长期存活的软件生态系统其演化过程.为了理解生态系统存活或消亡的原因,进行了多元线性回归分析,找出了与生态系统存活相关的重要因素.此外,提出了3个典型案例研究,以显示GitHub中软件生态系统的演化行为.
    相关文章 | 计量指标
    6. 面向微服务软件开发方法研究进展
    吴化尧, 邓文俊
    计算机研究与发展    2020, 57 (3): 525-541.   doi: 10.7544/issn1000-1239.2020.20190624
    摘要707)   HTML46)    PDF (889KB)(607)   
    微服务是面向服务体系结构的最新发展趋势和研究热点,其不仅在工业实践中形成了广泛且重要的应用,在学术界也受到日益增长的关注.以软件工程生命周期中的各项活动为主线,系统全面地对当前的微服务软件开发方法进行梳理和总结,尤其分析了面向微服务软件开发在需求分析、设计与实现、测试以及重构上的已有方法、工具和实践,并讨论了该领域的未来研究方向,从而为更加科学有效地开发高质量微服务提供参考和借鉴.
    相关文章 | 计量指标