期刊文献+
共找到50篇文章
< 1 2 3 >
每页显示 20 50 100
基于微服务的业务平台架构重构 被引量:13
1
作者 官东亮 《电信科学》 2020年第9期75-83,共9页
业务平台重构是承接中国电信集团公司CTNet 2025计划,落实网络重构,推进网络智能化的重要举措之一。重点分析了业务平台存在的问题,提出了以微服务化为核心理念,规范平台通用架构和开放标准,重构业务平台软件架构的演进目标。并通过建... 业务平台重构是承接中国电信集团公司CTNet 2025计划,落实网络重构,推进网络智能化的重要举措之一。重点分析了业务平台存在的问题,提出了以微服务化为核心理念,规范平台通用架构和开放标准,重构业务平台软件架构的演进目标。并通过建立完善基础平台、规范和推进业务/应用平台微服务化改造、资源规划和环境部署方案3个方面推进具体重构工作。对重构前后的平台进行资源利用率、开发效率、资源自动调度、部署效率等方面的比较分析,给出了实施业务平台重构的初步成效,为业内同类平台的规划、开发、部署提供了参考。 展开更多
关键词 微服务 容器 软件重构 能力开放
下载PDF
代码坏味的处理顺序 被引量:11
2
作者 高原 刘辉 +2 位作者 樊孝忠 牛振东 邵维忠 《软件学报》 EI CSCD 北大核心 2012年第8期1965-1977,共13页
选取了10种具有代表性的代码坏味进行研究.从每种代码坏味的产生原因、症状、对软件的影响以及相应的处理这4个方面进行分析,提出了一个代码坏味处理顺序的优先级.通过问卷调查和两个实验,对代码坏味处理顺序优先级进行了初步验证.
关键词 代码坏味 软件重构 处理顺序 软件维护 优先级 调度
下载PDF
基于源代码静态分析的C++0x泛型概念抽取 被引量:10
3
作者 陈林 徐宝文 《计算机学报》 EI CSCD 北大核心 2009年第9期1792-1803,共12页
使用泛型概念对领域知识进行抽象是泛型程序设计方法的基础.在新的C++0x标准中泛型概念将成为一个新的语言设施,这将为设计可复用、可扩展的泛型软件提供坚实的基础.为了更好地利用C++0x的新特性,有必要识别C++遗产代码中的泛型概念,并... 使用泛型概念对领域知识进行抽象是泛型程序设计方法的基础.在新的C++0x标准中泛型概念将成为一个新的语言设施,这将为设计可复用、可扩展的泛型软件提供坚实的基础.为了更好地利用C++0x的新特性,有必要识别C++遗产代码中的泛型概念,并通过重构得到符合C++0x标准的代码.文中提出了一种基于代码静态分析的泛型概念自动识别方法,通过对泛型程序中类型参数的使用分析,从遗产代码中提取有效表达式约束和关联类型约束,进而推导出泛型概念.将该方法应用于C++标准模板库STL,可以识别出STL算法中绝大部分潜在的泛型概念,表明该方法有助于识别遗产代码中的泛型概念. 展开更多
关键词 泛型程序设计 软件重构 泛型概念 C++0x 约束分析
下载PDF
软件重构在软件开发中的作用分析 被引量:8
4
作者 林治 《扬州教育学院学报》 2007年第3期21-24,共4页
主要介绍了软件重构的概念、原则,讨论了软件重构的优点和适用场合以及常用的方法。
关键词 软件重构 软件行为 单元测试 对象
下载PDF
一种改进的基于层次聚类的软件重构技术研究 被引量:10
5
作者 钟林辉 张能伟 +1 位作者 侯长源 宗鸿雁 《计算机工程与应用》 CSCD 北大核心 2015年第20期50-54,共5页
为了改善Java源程序的质量,使之尽可能地符合"高内聚、低耦合"的设计要求,提出了扩展的Jaccard系数,并将其作为实体间相似性的度量公式,采用层次聚类算法将Java类图划分为若干个候选包。在基于交互及度量重构策略的引导下,对J... 为了改善Java源程序的质量,使之尽可能地符合"高内聚、低耦合"的设计要求,提出了扩展的Jaccard系数,并将其作为实体间相似性的度量公式,采用层次聚类算法将Java类图划分为若干个候选包。在基于交互及度量重构策略的引导下,对Java程序结构进行调整。通过实验表明,经过调整以后的Java源程序,在结构上更符合"高内聚、低耦合"的特征。 展开更多
关键词 软件重构 高内聚 低耦合 Jaccard系数
下载PDF
函数抽取重构的自动检测方法 被引量:8
6
作者 刘阳 刘秋荣 刘辉 《计算机科学》 CSCD 北大核心 2015年第12期105-107,共3页
软件重构历史的自动检测是目前软件重构领域的一个研究热点。其主要目的是方便程序员或软件维护人员理解软件演化的历史,也便于根据服务代码重构历史对其客户代码进行相应的重构操作。虽然相关研究人员已经提出了多种自动化的重构历史... 软件重构历史的自动检测是目前软件重构领域的一个研究热点。其主要目的是方便程序员或软件维护人员理解软件演化的历史,也便于根据服务代码重构历史对其客户代码进行相应的重构操作。虽然相关研究人员已经提出了多种自动化的重构历史检测方法,但目前未见关于函数提取重构历史检测的方法或工具。为此,提出了一种基于版本比较的函数抽取重构自动检测方法,实现并验证了该方法的有效性。在8个开源项目上进行了实验验证,结果表明其查准率为65%~90%。此外,在一个小型项目上通过监控程序员的重构操作获得了全部的函数提取重构操作,进而计算出检测算法的查全率和查准率均为85%。 展开更多
关键词 软件重构 重构历史 自动检测 版本 软件演化
下载PDF
一种基于深度学习的上帝类检测方法 被引量:9
7
作者 卜依凡 刘辉 李光杰 《软件学报》 EI CSCD 北大核心 2019年第5期1359-1374,共16页
上帝类是指某个承担了本应由多个类分别承担的多个职责的类.上帝类违背了分而治之的基本思想以及单一职责的设计原则,严重影响软件的可维护性和可理解性.但上帝类又是一种比较常见的代码坏味.因此,针对上帝类的检测与重构一直是代码重... 上帝类是指某个承担了本应由多个类分别承担的多个职责的类.上帝类违背了分而治之的基本思想以及单一职责的设计原则,严重影响软件的可维护性和可理解性.但上帝类又是一种比较常见的代码坏味.因此,针对上帝类的检测与重构一直是代码重构领域的研究热点之一.为此,提出了一种基于深度神经网络的上帝类检测方法.该方法不仅利用了常见的软件度量,而且充分利用了代码中的文本信息,意图通过挖掘文本语义揭示每个类所承担的主要角色.此外,为了解决有监督深度学习所需的海量标签数据,提出了一种基于开源代码构造标签数据的方法.最后,基于开源数据集对所提出的方法进行了实验验证.实验结果表明,这些方法优于现有的上帝类检测方法,尤其是在查全率上有大幅度的提升(提高了35.58%). 展开更多
关键词 代码坏味 软件重构 深度学习
下载PDF
面向Java多线程机制的软件重构方法 被引量:8
8
作者 张杨 柳晨光 +2 位作者 张冬雯 郑琨 郑雅洁 《北京理工大学学报》 EI CAS CSCD 北大核心 2018年第11期1149-1155,共7页
针对Java语言中Thread和Executor两种线程机制在线程管理模式、代码编写量和性能上的不同,提出了一种面向Java多线程机制的软件自动重构方法,该方法可以实现Thread和Executor之间的自动重构转换,进而帮助程序员选择更适合的线程机制.在E... 针对Java语言中Thread和Executor两种线程机制在线程管理模式、代码编写量和性能上的不同,提出了一种面向Java多线程机制的软件自动重构方法,该方法可以实现Thread和Executor之间的自动重构转换,进而帮助程序员选择更适合的线程机制.在Eclipse JDT环境下实现了从Thread到Executor的自动重构工具Rethreader.在实验中,使用Rethreader对JGF基准测试程序套件中的Series、Crypt、Lufact、Sparsematmult和Montecarlo等基准程序进行了重构测试,实验结果表明,Rethreader可以在小于1s的短时间内实现从Thread到Executor的转换. 展开更多
关键词 Thread框架 Executor框架 软件重构 软件分析 抽象语法树
下载PDF
基于模块动态加载机制的航天器软件重构方案研究 被引量:8
9
作者 郭宗芝 刘彬 +2 位作者 邹玉龙 田小莉 牛崇 《计算机测量与控制》 2018年第6期126-129,148,共5页
分析了当今航天领域常规星载嵌入式软件重构方式,指出了其安全性低、灵活性差的缺点,提出了一种基于模块动态加载机制的软件重构方案;该方案具有安全、高效、灵活的特点,还能在不中断系统当前任务的情况下完成软件更新工作;借助龙芯CPU... 分析了当今航天领域常规星载嵌入式软件重构方式,指出了其安全性低、灵活性差的缺点,提出了一种基于模块动态加载机制的软件重构方案;该方案具有安全、高效、灵活的特点,还能在不中断系统当前任务的情况下完成软件更新工作;借助龙芯CPU硬件平台,结合具体实验,验证了文件系统建立、模块加载、模块执行、模块卸载等过程,全面验证了该方案的合理性及可操作性;实验结果表明,采用该方案可以有效降低在轨航天器软件维护工作的难度和成本,同时提高了应用软件开发的团队协作性,对其他嵌入软件开发设计也有一定的参考价值。 展开更多
关键词 软件重构 动态加载 文件系统 VXWORKS
下载PDF
代码坏味研究综述 被引量:3
10
作者 田迎晨 李柯君 +4 位作者 王太明 焦青青 李光杰 张宇霞 刘辉 《软件学报》 EI CSCD 北大核心 2023年第1期150-170,共21页
代码坏味(code smells)是低质量的急需重构的代码片段.代码坏味是软件工程领域的一个研究热点,并且相关研究方向众多、时间跨度大、研究成果丰富.为梳理相关研究思路和研究成果、分析研究热点并预判未来研究方向,对1990年至2020年6月间... 代码坏味(code smells)是低质量的急需重构的代码片段.代码坏味是软件工程领域的一个研究热点,并且相关研究方向众多、时间跨度大、研究成果丰富.为梳理相关研究思路和研究成果、分析研究热点并预判未来研究方向,对1990年至2020年6月间发表的代码坏味相关的339篇论文进行了系统地分析和归类,对代码坏味的发展趋势进行了分析与统计,量化揭示了相关研究的主流与热点.揭示了学术界关注的关键代码坏味,并研究了工业界与学术界的关注点的差异及其影响. 展开更多
关键词 代码坏味 软件重构 软件质量 度量 缺陷
下载PDF
基于形式化方法的测试驱动开发研究 被引量:6
11
作者 刘振宇 王恒 《计算机工程与设计》 CSCD 北大核心 2008年第15期3944-3946,3950,共4页
对测试驱动开发中测试用例的自动生成和管理问题进行了研究,并对现有方法进行了分析和比较。给出了一种基于形式化方法的测试用例生成和管理方案。该方案通过形式化语言描述软件规约,并通过相应工具生成和管理测试用例,从而提高了测试... 对测试驱动开发中测试用例的自动生成和管理问题进行了研究,并对现有方法进行了分析和比较。给出了一种基于形式化方法的测试用例生成和管理方案。该方案通过形式化语言描述软件规约,并通过相应工具生成和管理测试用例,从而提高了测试驱动开发的效率。最后给出了该方案在极限编程各个开发阶段的应用。 展开更多
关键词 极限编程 形式化方法 测试驱动开发 软件过程 软件重构
下载PDF
基于扩展的构件依赖关系图聚类的体系结构重构策略研究 被引量:5
12
作者 钟林辉 姚昕凡 +1 位作者 徐静 李晖 《计算机应用研究》 CSCD 北大核心 2010年第8期2987-2990,共4页
通过在软件体系结构层次实施软件重构,能够改善软件的质量、提高软件的易演化性。提出了扩展的构件依赖关系图的概念,将软件体系结构的逻辑依赖关系以及演化历史中蕴涵的演化依赖关系纳入到统一的表示中。进一步提出了基于扩展的构件依... 通过在软件体系结构层次实施软件重构,能够改善软件的质量、提高软件的易演化性。提出了扩展的构件依赖关系图的概念,将软件体系结构的逻辑依赖关系以及演化历史中蕴涵的演化依赖关系纳入到统一的表示中。进一步提出了基于扩展的构件依赖关系图聚类的体系结构重构策略,从而达到改善体系结构质量的目的。 展开更多
关键词 软件演化 演化信息 软件体系结构 软件重构
下载PDF
Bagging异构集成的代码异味检测与重构优先级划分
13
作者 吴海涛 蔡咏琦 高建华 《计算机工程与应用》 CSCD 北大核心 2024年第3期138-147,共10页
代码异味是不良的设计和代码实现的症状,可能阻碍代码理解、增加代码更改和出错的可能性。以前的研究专注于单一模型在代码异味上的检测,并且无法为开发人员提供重构建议。针对上述问题,提出一种基于Bagging异构集成模型的代码异味检测... 代码异味是不良的设计和代码实现的症状,可能阻碍代码理解、增加代码更改和出错的可能性。以前的研究专注于单一模型在代码异味上的检测,并且无法为开发人员提供重构建议。针对上述问题,提出一种基于Bagging异构集成模型的代码异味检测与重构优先级划分方法,该方法利用分类器间的异质性,通过F1集成策略来检测Complex Class、Long Method、Spaghetti Code等三种代码异味,并将模型输出的异味概率转化为可能性分布后,为开发人员提供重构意见。实验在6个开源系统的32个版本上验证、评估:(1)基分类器的稳定性以及与代码异味的关系;(2)Bagging异构集成模型检测上述代码异味的性能;(3)将异味概率转化为可能性分布并作为重构优先级的有效性。实验结果表明,最佳基分类器因代码异味类型而异。同时,Bagging异构集成模型相较于基分类器,F1提高0.06~40.51个百分点,AUC提高0.45~28.37个百分点。最后将Bagging异构集成模型的重构优先级与6名受访者的重构优先级进行Kappa一致性检验,两者具有高度一致性。 展开更多
关键词 代码异味 机器学习 集成学习 软件重构 可能性分布
下载PDF
一种基于词法特征和数据挖掘的无意义变量名检测方法
14
作者 姜艳杰 东春浩 刘辉 《计算机科学》 CSCD 北大核心 2024年第6期23-33,共11页
标识符是代码的重要组成部分,也是人们理解代码语义的关键元素之一。变量名是最常见的标识符之一,其质量对于代码的可读性和可理解性有着重要的意义。然而,因为各种原因程序员经常使用一些毫无意义的变量名,如“a”和“var”等。这些无... 标识符是代码的重要组成部分,也是人们理解代码语义的关键元素之一。变量名是最常见的标识符之一,其质量对于代码的可读性和可理解性有着重要的意义。然而,因为各种原因程序员经常使用一些毫无意义的变量名,如“a”和“var”等。这些无意义的变量名严重降低了代码的可理解性,需要进行检测并重构(重命名)。为此,提出了一种基于词法特征和数据挖掘的自动化方法,以检测代码中无意义的变量名。首先,对开源代码中的无意义变量名进行了实证分析,发现无意义变量名通常比较短且不包含任何有意义的单词,因此可以利用词法特征筛选出名称较短且不包含有意义单词的可疑变量名。如果可疑变量名包含缩写词,则使用缩写词扩展算法进行扩展,以获得完整的变量名。然后,基于数据挖掘算法判断可疑变量名是否为约定俗成的常用变量名。有些常用的变量名,如“i”和“e”,虽然字面上没有明确的语义,但是通过约定俗成的表示规范,程序员可以理解该变量的语义,因此不算是无意义的变量名,也不需要进行重构。如果可疑变量名称不是约定俗成的常用变量名,则断定该变量名为无意义的变量名,并提醒程序员进行重命名。在开源数据集上进行实验,结果表明,该方法具有较高的准确率,其平均查准率为85%,平均查全率为91.5%。 展开更多
关键词 软件重构 代码质量 数据挖掘 无意义变量名 词法特征
下载PDF
小卫星新一代CAN FD总线应用技术研究 被引量:5
15
作者 崔子涵 李志刚 《航天器工程》 CSCD 北大核心 2020年第4期108-114,共7页
针对现有小卫星CAN总线通信能力无法满足大规模星载软件在轨重构需求,文章在剖析高传输速率灵活可变数据率控制局域网络(CAN FD)总线技术特点后,提出了适用于小卫星软件在轨重构的新一代CAN FD总线技术应用方法,设计了卫星数据模型(SDM... 针对现有小卫星CAN总线通信能力无法满足大规模星载软件在轨重构需求,文章在剖析高传输速率灵活可变数据率控制局域网络(CAN FD)总线技术特点后,提出了适用于小卫星软件在轨重构的新一代CAN FD总线技术应用方法,设计了卫星数据模型(SDM)、总线动态数据实时管理协议,进行了小卫星CAN FD总线架构设计,以及基于小卫星即插即用技术、静动态信息融合的CAN FD总线时序设计,解决了传统CAN总线协议无法适用于小卫星即插即用、高传输速率下总线通信时间占用率过高的瓶颈问题;通过设计CAN FD总线节点,对星载星务主机与下位机之间CAN FD总线通信进行了测试验证,结果表明:CAN FD总线通信协议很好地支持节点的即插即用,通信速率可以达到5 Mbit/s,满足小卫星星载软件的重构需求,可为后续小卫星工程应用提供参考。 展开更多
关键词 软件重构 灵活可变数据率控制局域网络总线 星载软件
下载PDF
基于AD9371及Zynq-7000的软件无线电硬件平台设计 被引量:5
16
作者 刘宁宁 蒋文吉 +1 位作者 成章 刘静娴 《电子设计工程》 2021年第14期1-6,共6页
文中基于软件无线电的技术原理及思路,提出了一种基于AD9371及Xilinx Zynq-7000 FPGA的软件无线电通用硬件平台的设计方案及工程实现方法。该硬件平台工作频率为300 MHz~6 GHz,包含了2路发射通道和2路接收通道功能,支持FDD及TDD两种工... 文中基于软件无线电的技术原理及思路,提出了一种基于AD9371及Xilinx Zynq-7000 FPGA的软件无线电通用硬件平台的设计方案及工程实现方法。该硬件平台工作频率为300 MHz~6 GHz,包含了2路发射通道和2路接收通道功能,支持FDD及TDD两种工作模式,适用于多种应用场景。AD9371的宽带射频信号范围及宽带特性(频率范围为300 MHz~6 GHz,发射带宽最高支持250 MHz,接收带宽最高支持100 MHz)涵盖大部分特许执照和免执照蜂窝频段。此外,AD9371具有高集成性、高灵活性等特点,与数字信号处理部分的Zynq-7000 FPGA采用JESD204B接口,可简化软件无线电硬件平台的设计。基于该设计,工程人员通过软件的动态重构可实现灵活多变的通信体制和通信功能,可广泛应用于个人移动通信、军事通信、雷达系统等领域。 展开更多
关键词 软件无线电 AD9371 Zynq-7000 FPGA JESD204B接口 软件重构
下载PDF
复杂软件系统的重构技术:现状、问题与展望 被引量:4
17
作者 孟繁祎 王莹 +1 位作者 于海 朱志良 《计算机科学》 CSCD 北大核心 2020年第12期1-10,共10页
软件重构是改善软件质量的一种重要手段,它在不改变软件外部行为特性的情况下,通过调整软件内部结构来提高软件的可理解性、可维护性和可扩展性。然而,随着开源软件的迅猛发展,软件的规模和复杂程度日益增加,现有的重构技术在应对规模... 软件重构是改善软件质量的一种重要手段,它在不改变软件外部行为特性的情况下,通过调整软件内部结构来提高软件的可理解性、可维护性和可扩展性。然而,随着开源软件的迅猛发展,软件的规模和复杂程度日益增加,现有的重构技术在应对规模庞大且复杂的软件系统时,重构效果并不如意。因此,提高重构技术的可扩展性一直是软件工程领域研究的热点。从技术负债角度出发,探究重构时机,思考重构技术对软件质量的深入影响,明确重构技术旨在寻找重构代码的自动化方法,从而降低维护成本,提高代码质量。文中对工程实例进行分析并对文献进行梳理,调研了自2010年至今国内外96篇相关领域的文献,尝试以复杂系统的视角对这些研究工作进行归纳、比较,提炼总结软件重构领域的研究方向与技术方法,探讨重构技术研究中的特点与难点,思考重构技术研究中存在的问题及未来的研究方向,对软件重构技术的研究趋势进行了展望。 展开更多
关键词 软件重构 技术负债 代码异味 自动化工具 软件质量
下载PDF
重构C++程序物理设计(英文) 被引量:3
18
作者 周天琳 史亮 +1 位作者 徐宝文 周毓明 《软件学报》 EI CSCD 北大核心 2009年第3期597-607,共11页
整合重构的基本思想和物理设计的基本技术,提出了物理重构的概念.它是对软件物理结构的再设计,目的是在不改变软件外在行为的前提下,调整软件组织结构,从而提高软件的开发效率和可维护性等.在此基础上,提出用"识别-重构-评估"... 整合重构的基本思想和物理设计的基本技术,提出了物理重构的概念.它是对软件物理结构的再设计,目的是在不改变软件外在行为的前提下,调整软件组织结构,从而提高软件的开发效率和可维护性等.在此基础上,提出用"识别-重构-评估"的迭代过程来实施物理重构,并介绍了常用的物理重构方法.实例研究表明,物理重构能够有效地优化系统的物理结构,使开发者从多个角度持续改善软件质量. 展开更多
关键词 C++ 软件演化 软件重构 物理设计 软件再工程
下载PDF
基于VT-x技术的xen虚拟机扩展设备模组 被引量:3
19
作者 孙世昶 刘向东 云健 《微计算机信息》 北大核心 2008年第7期293-294,共2页
X86平台虚拟化技术在网络和嵌入式应用中具有广阔的发展空间,但是虚拟机对硬件设备的高效访问是一个有待研究的问题。目前流行的xen虚拟机环境中使用设备模组为虚拟机提供模拟的设备,随着硬件技术的发展,这种方法逐渐成为提高I/O性能的... X86平台虚拟化技术在网络和嵌入式应用中具有广阔的发展空间,但是虚拟机对硬件设备的高效访问是一个有待研究的问题。目前流行的xen虚拟机环境中使用设备模组为虚拟机提供模拟的设备,随着硬件技术的发展,这种方法逐渐成为提高I/O性能的一个瓶颈。文章给出一种扩展设备模组,为虚拟机提供一个访问真实设备的接口。介绍了其透明访问和SmartMapping两大特性。 展开更多
关键词 虚拟化技术 操作系统 I/O技术 软件重构
下载PDF
长方法坏味重构选择策略 被引量:1
20
作者 马飞飞 吴海涛 《计算机应用》 CSCD 北大核心 2014年第A01期284-286,293,共4页
长且复杂的方法难以阅读和维护,因此造成长方法这种代码坏味。为了能够快速消除长方法坏味,在仔细研究长方法坏味特点及相关的重构方法之后,提出一套针对长方法坏味的重构选择策略,它主要关注提取方法和以查询替换临时变量这两种重构。... 长且复杂的方法难以阅读和维护,因此造成长方法这种代码坏味。为了能够快速消除长方法坏味,在仔细研究长方法坏味特点及相关的重构方法之后,提出一套针对长方法坏味的重构选择策略,它主要关注提取方法和以查询替换临时变量这两种重构。运用该策略,能够有效确定在何种情形下应该使用这两种重构来消除长方法。最后用一个实例证明策略的有效性,同时也指出其局限性,并展示策略使用前后所取得的重构效果。 展开更多
关键词 长方法 代码重构 软件度量 重构选择 软件重构
下载PDF
上一页 1 2 3 下一页 到第
使用帮助 返回顶部