图片丢失啦 智能软件工程

默认 最新文章 浏览次数
Please wait a minute...
选择: 显示/隐藏图片
1. 基于强化学习的Web服务众测任务分派方法
唐文君,张佳丽,陈荣,郭世凯
计算机科学    2020, 47 (3): 54-60.   DOI: 10.11896/jsjkx.191100085
摘要581)      PDF(pc) (1783KB)(1122)    收藏
如何将众包测试任务分派给合适的众测工人,以较低的成本获得更好的测试结果,是一个重要问题。文中将CWS众测任务分派问题建模为一个基于马尔可夫决策过程的问题,且使用Deep Q Network进行学习和实时在线测试任务分派。该基于强化学习的方法被命名为WTA-C。此外,文中根据众测工人执行任务的历史时间,通过统计条件概率计算测试工人在任务期限内完成任务的概率,将其作为工人信誉值来反映工人质量,并在每次分派完成后对工人信誉值进行更新。实验结果显示,WTA-C在控制测试任务的“质量-成本”权衡和保证工人可靠度方面优于其他基于启发式策略的实时分派方法,并在分派效果上高于各启发式策略18%以上,从而证明了其可以更好地适应CWS的结构和众测环境的特点。
参考文献 | 相关文章 | 多维度评价
2. 智能化信息物理系统中非确定性的分类研究
杨文华,许畅,叶海波,周宇,黄志球
计算机科学    2020, 47 (3): 11-18.   DOI: 10.11896/jsjkx.191100052
摘要594)      PDF(pc) (1853KB)(1221)    收藏
信息物理系统呈现出日趋智能化的特征,而非确定性又是系统中普遍且固有的特性。例如,系统通过传感器感知环境时,会不可避免地存在误差。非确定性若未被妥当处理,往往会影响系统的正确运行,并带来一系列的问题。因此,对信息物理系统中的非确定性进行处理是至关重要的,也是促进信息物理系统进一步智能化的关键。对非确定性进行处理的前提是需要对其有充分的理解和认识,然而现有工作对信息物理系统中非确定性的研究尚处于探索阶段。针对这一问题,研究了信息物理系统中的非确定性分类。具体而言,根据信息物理系统中被广泛认可的5C技术架构对非确定性进行了分类,详细介绍了该架构每一层次上可能存在的非确定性,并结合典型的信息物理系统应用进行了举例说明;同时,总结了当前的相关研究工作,并展望了未来信息物理系统在应对非确定性方面的智能化研究方向。
参考文献 | 相关文章 | 多维度评价
3. 基于特征提取的开源社区Fork摘要自动生成方法
张超,毛新军,卢遥
计算机科学    2020, 47 (3): 25-33.   DOI: 10.11896/jsjkx.191000087
摘要719)      PDF(pc) (2504KB)(991)    收藏
当前,基于P/R的分布式协同开发已经成为开源社区中的主导软件开发方式。开发者通过Fork复制软件项目的版本库,创建自身分支,并在新建分支中进行独立开发。由于P/R协同开发模型具有开放性、透明性和并行化等特征,开发人员在Fork项目时难以掌握项目的Fork概况,不知道其他开发人员是否已通过Fork开展相同或类似的开发工作,从而容易产生重复性的贡献和冗余性开发。针对这个问题,提出一种Fork摘要的自动生成方法以帮助项目管理者加强项目管控,避免冗余贡献,增强合作交流。该方法首先爬取开源社区中具有Feature和Bug标签信息的Issue数据,采用随机森林方法训练一个分类器模型,以对Fork特征进行分类;随后收集Fork分支的软件开发活动数据,采用TextRank算法生成Fork详细信息以解释Fork的主要目的;最后设计了一组组合规则及相应的算法来整合Fork的类别、特征和其他信息,以形成完整的Fork摘要。为了检验所提方法在指导分布式协同开发方面的有效性,在Github上进行了30组人工测试和60组实际案例测试。结果表明,所提方法生成的Fork摘要的准确率达到67.2%,实验中76%的项目管理者认为Fork摘要有助于更好地管理项目,加强沟通与合作。
参考文献 | 相关文章 | 多维度评价
4. 设计模式组合操作优化研究
纪程宇,朱雪峰
计算机科学    2020, 47 (3): 19-24.   DOI: 10.11896/jsjkx.190100046
摘要373)      PDF(pc) (1622KB)(803)    收藏
作为软件设计经验的总结,恰当使用设计模式能够有效提高软件系统的可复用性,确保最终所得软件产品的质量。但在实际应用中,人们很少使用单一的设计模式,通常需要根据实际的应用场景进行多个模式的组合,这可能会导致所得结果不确定,严重影响软件产品的质量。虽然现有的模式组合形式化方法能够有效地表达模式组合后的结果,但是组合方法逻辑复杂并包含大量的冗余操作,设计人员很难熟练使用。针对上述模式组合过程中存在的问题,文中对多模式之间的组合关系进行了深入探讨,从设计模式的形式化描述出发,结合Z语言的特点对现有的模式组合形式化方法进行了深入研究,并对现有的模式组合操作符进行了初步优化;在现有操作符集合的基础上提出了基于模式的约束、叠加和扩展操作符,通过操作符定义了模式组合的精确语义,并采用代数推理过程验证了优化后的方法可以有效地替代现有的模式组合形式化方法,且能够解决现有模式组合形式化方法中操作符冗余、数量过多导致的效率低等问题。最后,通过模式组合案例的研究,验证了所提方法的有效性。
参考文献 | 相关文章 | 多维度评价
5. 融合自注意力机制和多路金字塔卷积的软件需求聚类算法
康雁,崔国荣,李浩,杨其越,李晋源,王沛尧
计算机科学    2020, 47 (3): 48-53.   DOI: 10.11896/jsjkx.190700146
摘要403)      PDF(pc) (1892KB)(950)    收藏
随着软件数量的急剧增长以及种类的日益多样化,挖掘软件需求文本特征并对软件需求特征聚类,成为了软件工程领域的一大挑战。软件需求文本的聚类为软件开发过程提供了可靠的保障,同时降低了需求分析阶段的潜在风险和负面影响。然而,软件需求文本存在离散度高、噪声大和数据稀疏等特点,目前有关聚类的工作局限于单一类型的文本,鲜有考虑软件需求的功能语义。文中鉴于需求文本的特点和传统型聚类方法的局限性,提出了融合自注意力机制和多路金字塔卷积的软件需求聚类算法(SA-MPCN&SOM)。该方法通过自注意力机制捕获全局特征,然后基于多路金字塔卷积从不同窗口的通路深度挖掘需求文本特征,使得感知的文本片段逐倍增加,最终融合多路文本特征,利用SOM完成聚类。在软件需求数据上的实验表明,所提方法能较好地挖掘需求特征并对其聚类,性能上优于其他特征提取方式和聚类算法。
参考文献 | 相关文章 | 多维度评价
6. 基于语义相似度的API使用模式推荐
张云帆,周宇,黄志球
计算机科学    2020, 47 (3): 34-40.   DOI: 10.11896/jsjkx.190300053
摘要687)      PDF(pc) (1878KB)(1331)    收藏
在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进行推荐,但这并不符合开发人员的查询习惯。文中提出了一种基于自然语言语义相似度的API使用模式推荐方法(Semantic Similazing Based API Recommendation,SSAPIR)。该方法使用层次聚类算法来提取API使用模式,然后通过计算查询信息和API使用模式来描述信息之间的语意相似度,向开发人员推荐相关度高且被广泛使用的API使用模式。为了验证SSAPIR的有效性,文中从GitHub的高质量Java项目中提取9个流行的第三方API库的API使用模式以及API使用模式的描述信息,并根据这9个流行的第三方API库的自然语言查询进行API使用模式推荐。通过计算推荐结果的Hit@K准确率来验证SSAPIR的有效性,实验结果表明,层次聚类能有效提高推荐准确率,且SSAPIR在Hit@10平均准确率上达到了85.02%,优于现有研究工作,能够很好地完成API使用模式推荐任务,为开发人员输入的自然语言查询提供精准的API使用模式。
参考文献 | 相关文章 | 多维度评价
7. 基于用户评论的代码质量识别与分析
徐海燕,姜瑛
计算机科学    2020, 47 (3): 41-47.   DOI: 10.11896/jsjkx.191100132
摘要424)      PDF(pc) (1729KB)(1357)    收藏
随着IT社区和代码托管平台的发展,针对代码的用户评论数量急剧增加。用户在使用代码后给出的评论中包含丰富的静态和动态代码质量信息,对其进行提取与分析将有助于开发者了解用户关注的代码质量信息,以有针对性地提升代码质量,还有助于用户选择满足要求的代码。为此,文中提出了包含静态特性和动态特性的代码质量模型,以及识别并分析用户评论中代码质量信息的方法。首先,根据评价对象和评价句型规则识别出具有代码质量的用户评论;然后,应用评价对象和评价观点抽取代码质量属性表现;最后,通过分析代码质量属性表现和情感倾向给出代码静态和动态质量的相关结果。实验结果表明,所提方法能够有效地分析用户评论中的代码质量信息。
参考文献 | 相关文章 | 多维度评价
8. 代码相似性检测方法与工具综述
张丹,罗平
计算机科学    2020, 47 (3): 5-10.   DOI: 10.11896/jsjkx.190500148
摘要870)      PDF(pc) (1428KB)(6001)    收藏
在代码开源的潮流下,代码克隆在提高代码质量和降低开发成本的同时,一定程度地影响了软件系统的稳定性、健壮性与可维护性。代码相似性检测在计算机与信息安全发展方面具有重要的意义。为应对代码克隆带来的各种危害,目前学术界和工业界提出了很多代码相似性检测的方法,这些方法按照源代码信息处理程度可分为基于文本、词法、语法、语义和度量值5类;并开发了相应的检测工具,这些工具实现了很好的检测效果,但在大数据时代背景下也面临着数据规模不断扩大带来的一系列挑战。文中综述了代码相似性检测的方法,对5类检测方法做了详细比较;结合传统方法与机器学习技术,归类了不同检测方法对应的检测工具;按照不同评价标准评估了检测工具的检测效果,总结了每种检测方法的首选检测工具,并对未来代码相似性检测的研究方向做出了展望。
参考文献 | 相关文章 | 多维度评价
9. 代码标识符归一化研究现状及发展趋势
张静宣, 江贺
计算机科学    2020, 47 (3): 1-4.   DOI: 10.11896/jsjkx.200200009
摘要665)      PDF(pc) (1397KB)(1645)    收藏
作为代码分析和理解的重要内容,代码标识符及其归一化是国际学术界的前沿热点研究领域。标识符归一化旨在将标识符解析成自然语言词汇,以提高代码的可理解性和可维护性。标识符归一化主要包括两个极具挑战性的步骤,分别为组合词拆分和缩写词扩充。文中详细介绍了代码标识符归一化的研究现状,并进行了深入分析,总结出现有工作的困难和不足。同时,为了解决标识符归一化面临的困难和挑战,对该领域可行的解决思路和未来的发展趋势进行了归纳和展望,希望引导更多的研究者投入到这个重要的研究领域。
参考文献 | 相关文章 | 多维度评价
10. 前言
计算机科学    2020, 47 (3): 2-2.  
摘要203)      PDF(pc) (375KB)(1288)    收藏
相关文章 | 多维度评价