【摘 要】
:
软件系统在其整个生命周期中会经历许多变化。代码坏味表示糟糕的编程实践,它既不是bug或者技术上不正确的事件,也不会阻止程序正常运行。然而,代码坏味的存在会成为软件潜在的弱点,可能会减缓软件的开发速度或增加未来出现错误或失败的风险。代码坏味也成为导致技术债务因素的指示器,它的存在会产生质量较差的软件,并妨碍软件的可理解性、可重用性和可维护性。因此,研究人员需要对这类代码片段进行重构,而软件重构关键的
论文部分内容阅读
软件系统在其整个生命周期中会经历许多变化。代码坏味表示糟糕的编程实践,它既不是bug或者技术上不正确的事件,也不会阻止程序正常运行。然而,代码坏味的存在会成为软件潜在的弱点,可能会减缓软件的开发速度或增加未来出现错误或失败的风险。代码坏味也成为导致技术债务因素的指示器,它的存在会产生质量较差的软件,并妨碍软件的可理解性、可重用性和可维护性。因此,研究人员需要对这类代码片段进行重构,而软件重构关键的一步就是确定重构位置,代码坏味检测已成为确定重构位置的既定方法。代码坏味检测方法研究是目前研究的热点内容之一,主要分为基于度量和启发式的检测方法、基于机器学习的检测方法和基于深度学习的检测方法。然而,现有的代码坏味检测方法仍存在一些问题:第一,现有方法无法提取深层次的代码度量特征信息,检测代码坏味的准确率有待提高。第二,现有的工作主要集中在那些流行的代码坏味,如特性依恋、上帝类和长方法等,对一些不常见代码坏味(大脑类和大脑方法)关注度不够,且缺少公开可用的数据集。第三,现有方法特征提取比较单一,没有考虑到嵌入在源代码中的潜在语义信息对检测代码坏味的影响。针对目前研究存在的问题,本文提出一种基于深度学习的代码坏味检测方法MARS,并构建了两种代码坏味(大脑类和大脑方法)数据集,对两种关注度较少的代码坏味进行检测。为考虑不同特征信息对代码坏味的影响,本文提出一种基于预训练模型和多层次信息的检测方法Deep Smell,首先采用静态分析工具提取源程序中的代码坏味实例和多层次代码度量信息,并对代码坏味实例进行标记;然后通过抽象语法树解析并获取源代码中与代码坏味相关的层次信息,将其中的文本信息与度量信息相结合生成数据样本;最后使用BERT预训练模型将文本信息转化为词向量,应用GRU-LSTM模型获取层次信息之间潜在的语义关系,并结合CNN模型与注意力机制检测代码坏味。在实验中,我们从多方面来验证MARS和DeepSmell的有效性。从Github上选取了多个实际应用程序来生成代码坏味数据集,并与现有的基于深度学习的代码坏味检测方法进行比较。结果表明,MARS和DeepSmell可以有效地检测代码坏味,优于现有的检测方法。
其他文献
复杂网络理论是研究网络结构与功能的重要工具。网络传输数据负载是其重要功能之一。随着现实世界中科技不断地发展进步,网络的用户量和所传输的数据量也在不断地增加,网络的传输性能逐渐地无法满足网络中的数据量增加情况,拥塞现象就会发生在网络中,进而导致网络传输性能严重下降,甚至会导致网络崩溃。网络传输容量可衡量网络传输性能,因此如何有效地改善数据包在网络上的传输行为,进而提升网络传输容量,抑制拥塞现象的发生
电催化二氧化碳还原(CO2RR)制备具有高附加值的燃料和化学品,提供了一条具有前景的方式来应对全球气候变暖问题、缓解能源危机以及实现碳中和的目标。相对于高碳产物,电化学合成一氧化碳(CO),是目前实现高效CO2价值化的更可行的途径,因为CO可以在工业化费托合成中进一步合成更高价值的产品(甲烷、甲醇和柴油等)。但缓慢的CO2RR动力学以及更高效的竞争反应(氢气析出反应,HER)造成其转换效率低,远不
随着光学字符识别研究的不断深入以及计算机技术的快速发展,基于深度学习的字符识别方法已成为工业领域中的一个研究热点。字符的自动化识别可以帮助企业提升质检、排序和分类等工作效率,在工业生产过程中发挥着重要的作用。本文针对半导体芯片字符和乳制品外包装喷码字符两种情况,分别构建了不同的卷积神经网络模型,并针对两种字符识别面临的问题对模型进行改进。主要工作如下:1)针对半导体芯片字符尺寸小、字体样式较多等特
信息传输和测距定位是无线通信系统的两个主要任务,一般分别由通信系统和测距系统独立完成。但是在许多应用场景中,要求系统能够同时完成通信任务和测距任务,如果使用两个分离的系统独立完成相应的任务会增加设备的复杂程度。所以,需要设计出可以同时完成数据传输和距离测量的无线通信系统,即通信测距复合系统(简称复合系统),有效的提高了设备的利用效率,降低系统的复杂程度和功耗。由于扩频技术具有抗干扰能力强、保密性好
镁合金具有密度低、比强度高、强阻尼减震等优点,有着广阔的发展潜力。然而镁合金板材在室温下的塑性变形较差,成形方式一般为热成形,不仅成本高,而且易发生氧化、晶粒粗大等缺陷,迫切需要一种室温下的成形方式。集群式钢球旋压(CBS)工艺作为一种新型柔性板材成形技术,融合了多点成形、单点渐进成形、旋压成形的优点,符合现代工业对于低成本、小批量、个性化的需求。本文中,将使用CBS工艺在室温下成形AZ31镁合金
制造业是国民经济的主体,是立国之本、兴国之器、强国之基。随着精益思想的不断推广,U型装配线成为精益生产企业最主要的生产配置。在U型装配线中,人和机器二者之间存在合作和干涉两种情况。在一人多机工作站中,随着人机比的增加,系统成本支出逐渐减少,但人机干涉现象逐渐严重,生产效率随之降低。因此,研究合理的任务分配并提出合理的生产管理建议具有一定的理论和现实意义。本文围绕人机配比分析的一般框架展开,以U型装
双辊铸轧工艺作为生产合金薄带常用的工艺,具有能耗低、流程短、工序少、绿色环保等特点。但是由于双辊铸轧工艺在生产薄带时容易发生严重影响合金性能的中心偏析,且这种中心偏析属于宏观偏析,无法在后续热处理阶段中进行消除,所以双辊铸轧薄带的生产与使用受到了严重的制约。尤其是在生产耐高温Al-Cu合金薄带时,由于合金中含有相当数量的耐高温相,当这些相在中心偏析区域聚集时会大幅降低合金的各项力学性能,导致在工业
铝硅合金作为一种常见的铸造合金,具有流动性好、热导率高、力学性能好等优点,被广泛应用。电热法是目前很有前景的一种铝硅合金生产技术,不仅生产能耗低,还可以用低品位铝土矿和非铝土矿资源作为原料。内蒙古准格尔煤田产出大量高铝煤矸石,其氧化铝含量最高可达50%,为典型的高铝煤系固废资源,可以替代铝土矿作为电热法生产一次铝硅合金的原料。然而,以高铝煤系固废为原料生产的一次铝硅合金中铁含量较高,导致其不能直接
由于燃油汽车升级为电动汽车的产业转型,汽车制造业对于电化学储能设备的需求量激增,而锂离子电池具备能量密度高、工作电压高、循环寿命长等突出优点,故被广泛用于电动汽车储能装置。然而目前广泛商用的石墨负极材料的理论比容量较低(372 m Ah g-1)导致电动汽车续航里程较短,极大的限制了电动汽车的使用场景,因此有必要探索具有高容量的新型负极材料。二元过渡金属氧化物ZnMn2O4负极材料作极具前景的负极
目的 探讨分级团队联合临床护理路径在严重创伤患者中的应用效果。方法 回顾性分析2020年4月至2021年12月在该院创伤急救中心接受严重创伤救治的600例患者的临床资料,根据急诊团队救治模式的不同,将2020年4-12月接受传统创伤救治的300例患者归为对照组,将2021年1-12月接受分级团队联合临床护理路径救治的300例患者归为观察组。比较2组患者急诊急救时效指标的情况。结果 观察组分诊级别符