首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
目前许多研究人员对自动化软件重构进行了探索并开发了一系列重构工具,旨在帮助程序员更高效地完成软件重构任务、提升代码质量。然而,现有的软件重构工具多侧重于局部的设计或编码问题,而非设计层面的问题。另一方面,基于搜索的重构方法往往将改进某一项代码度量指标作为重构目标,而非面向软件的层次化设计。针对这种情况,提出一种新的基于搜索的软件自动化重构方法,该方法使用了基于设计结构矩阵(DSM)的软件模块层次化度量方法,能够自动生成可以得到最优软件模块化设计的重构建议。在此基础上,实现了自动化重构工具DSMRefactoring,并将DSMRefactoring应用于开源系统进行案例研究,初步验证了方法和工具的有效性。  相似文献   

2.
重构可以改进既有软件的设计、提高软件质量,是一种行为保持的转化过程。自动化重构工具的广泛使用使得提高它的可靠性变得十分重要,然而即使是很简单的重构方法仍会导致许多错误,这些错误将会导致程序转换前后的行为不一致。因此提出对重构方法的形式化验证,只有这样才能将分析覆盖到所有可能的情况,完全地保证重构前后程序行为的一致性,即重构过程的正确性。该研究方向对软件发展的前景是十分有利的,但同时在程序验证的挑战性上也是十分巨大的。分析了基于分解的重构验证方法,并应用该验证方法,选择重构方法之一的"搬移字段"方法进行了详细的分析和验证。在完善重构验证这一研究方向作出了一定贡献。  相似文献   

3.
张杨  张冬雯  仇晶 《计算机科学》2015,42(11):84-89, 117
Java语言提供了同步锁、可重入锁和读写锁等几种锁机制,在并行程序设计中不同的数据结构使用这几种锁机制时获得的性能通常是不同的。为了在不同的锁机制之间进行自动转换,进而帮助程序员了解程序的性能,提出了一种面向Java锁机制的字节码自动重构框架,并基于该框架实现了字节码重构工具Lock2Lock。Lock2Lock在Quad中间表示的基础上对字节码进行静态分析,并对分析的结果进行一致性验证,通过Javassist完成字节码的重构。使用红黑树、消费者生产者程序以及SPECjbb2005 3个测试程序对Lock2Lock重构工具进行了测试,结果表明,Lock2Lock可以成功地实现从同步锁到可重入锁或读写锁的重构。  相似文献   

4.
由于条件分支语句的多重嵌套,导致代码的逻辑结构不清晰,可读性差,降低了生成基本路径集时划分基本块的效率。据此,提出一种代码自动化重构方法,该方法运用编译原理中语法分析的自下而上分析方法和归约思想,能够对嵌套的if-else条件语句实现自动化调整,实现代码结构的清晰化,更适用于生成基本路径集的工具,该方法提高了生成基本路径集的效率。而对于基于模型代数的基本路径集生成工具,改进了生成模型代数表达式的算法,并且能够准确地生成基本路径集。最后通过实验对案例进行对比,验证了重构方法及改进算法的有效性。  相似文献   

5.
软件重构的概念、原则,讨论了软件重构的优点和适用场合,并介绍了自动化软件重构工具。  相似文献   

6.
李伯林  李瑞 《计算机时代》2007,(9):48-49,56
应用软件重构技术,需要解决修改代码却不影响程序原有功能的问题.文章利用契约式程序设计思想解决重构的行为保持问题,给出了契约式重构(Refactoring by Contract)方法,并应用Java语言给出了这种方法的具体实现过程.  相似文献   

7.
重构可以改善软件系统的内部结构,提高软件可理解性、可维护性,而又不改变软件的外部行为。传统的源码层次的重构虽有很多重构工具的支持,但是对于复杂软件的重构难度大,容易出错。针对这种情况,提出基于程序蓝图模型层次的重构。考虑到UML模型直观性的特点,给出UML类图模型在系统体系结构上的重构操作和实例,为重构在软件框架结构上的实施提供有力的支持。深入研究过程蓝图模型使用树形结构来描述程序的方法,定义过程蓝图相关重构操作并给出具体操作实例及过程,最后从过程蓝图模型生成新的源码。实验结果表明,UML模型和过程蓝图模型层次上的重构,提高了重构的抽象级别和效率。该方法能有效支持复杂软件的重构,并减少出错率。  相似文献   

8.
可重构安全协议对提高安全系统的灵活性和适应能力具有重要意义,它可根据具体上下文环境进行配置、移植,极大增强了系统的安全性,目前基于软件构件的协议重构方法无法满足安全协议对安全性和计算性的特殊要求.针对安全协议的安全性和高密度计算特性,提出了一种针对现有资源选择重构元的解决方法,给出协议可重构元匹配和基于QoS的重构元质量满意度的协议重构选择算法,使系统可以尽快按照重构协议需求选择满意的可重构元.通过实例说明该方法的执行过程,应用结果表明该方法能够有效提高重构效率和重构准确度.  相似文献   

9.
企业应用系统需进行频繁重构以响应变化,如何保证重构的完备性和正确性是重构工程中需要解决的一个关键问题。重构需求作用于业务模型,进而映射为相应软件系统的变化。该文给出了基于业务规则的业务元模型与重构元模型,并基于该模型简要地描述了应用系统的统一重构过程。随之对重构操作进行了分类,定义了重构规则的表达形式,并给出了基于重构规则的影响分析方法。最后给出了应用实例。  相似文献   

10.
一种基于图转换的模型重构描述语言   总被引:1,自引:0,他引:1  
刘辉  麻志毅  邵维忠 《软件学报》2009,20(8):2087-2101
提出了一种基于图转换的模型重构描述语言.针对模型重构的特征,设计了模型重构描述语言的基本元素,并给出了如何通过这些基本元素描述模型重构及重构规则的方法.在此基础上,给出了根据形式化重构规则执行模型重构的具体步骤和策略,并提供了较为完整的模型重构CASE支撑工具.通过实例讨论了该模型重构描述语言的描述能力.结果表明,该语言具有较强的描述能力,能够比较简洁地描述复杂的模型重构规则.  相似文献   

11.
提高软件项目的可复用性,降低模块之间的耦合度,一直是软件开发过程中最求的目标。伴随着Java技术应用的日益普遍,基于Java技术的开源框架也越来越多,其中有一些框架已经被业界普遍认可。Struts、Spring和Hibernate就是这些框架中的佼佼者,使用这些技术可以规范Java项目的开发,降低模块的耦合度,提高代码的复用性。该文中主要阐述使用这三种框架如何集成以及如何对软件项目进行架构,具有一定的参考价值。  相似文献   

12.
随着软件产业的迅速发展,软件系统的功能和结构日益复杂,有必要有效地理解复杂软件系统的结构,理解其在生命周期里的变化规律.开发了一个基于复杂网络的Java程序分析工具,分析Java代码,为Java软件系统结构构建复杂网络,并进行复杂网络特征的统计和分析,为更好地研究和理解复杂软件系统的结构及其演化规律提供了有力的支持.  相似文献   

13.
开源工作流系统——Enhydra Shark分析   总被引:1,自引:1,他引:0  
Enhydra Shark是Lutris公司组织开发的一个具有可扩展功能的开源工作流系统软件,它基于Java平台,并完全遵循WfMC相关规范.Enhydra包含一个可视化建模工具,一个工作流执行服务以及一套客户端应用开发接口函数.由于Shark源代码开放,因此可借鉴其内部架构和实现方式应用到实际系统中,为此本文详细地剖析了它的结构和工作过程.  相似文献   

14.
移动设备的大量产生,使人们将目光转移到移动端软件开发当中,通过研发出各种各样的移动端软件,能够有效满足人们的生活、学习、生产需求,极大程度地推动了社会经济增长。本文对Java 语言在安卓系统软件开发中的应用优势进行探讨,分析了Java 语言对安卓系统软件架构的影响,并以加密软件的开发为例对基于Java 语言的移动端软件的开发流程进行了探讨。  相似文献   

15.
丘志杰  罗蕾 《计算机应用》2010,30(2):398-401
Java反射是提高软件系统灵活性的重要技术,它是Java被视为动态语言的一个关键特性。虽然CLDC规范并不支持反射,但是在基于Java技术的嵌入式领域,反射仍有其应用需求。Sun公司根据CLDC规范发布了一套嵌入式Java技术的参考实现,其虚拟机被称作KVM。通过分析KVM的相关数据结构和机制,详细描述了反射机制的设计原理,并提出了一种在KVM中扩展反射功能的实现方案,经过测试证明该方案是可行的。  相似文献   

16.
区纪刚  汪小燕 《微机发展》2003,13(1):23-24,81
介绍了Java原型开发法,即一种新的互联网平台开发方法,并阐述了该开发方法中的关键技术-分层策略,使用基于分层策略的Java原型开发法可增加原型的重用能力,缩短互联网应用系统的开发周期,提高软件生产效率。  相似文献   

17.
文章了Java原型开发法,一种新的互联网平台开发方法。阐述了该方法中的关键技术--分层策略。使用基于分层策略的Java原型开发法可增加原型的重用能力,缩短了互联网应用系统的开发周期,提高了软件的生产效率。  相似文献   

18.
基于WWW的仿真软件JRTSS(Java-basedRealTimeSystemSimulator)以RTSS仿真软件为基础,保持其原有特色,并采用Java为编程语言,运行在Browser/Server环境下。JRTSS软件由三部分组成:仿真核心、建模程序与结果后处理程序。其中仿真核心运行在Server端,建模和结果后处理程序为JavaApplet,由用户的Browser下载并执行。JRTSS的系统模型是一个开放队列网络。通过在不同抽象层次对多个数据采集与处理系统、通信网络以及柔性制造系统的仿真与性能评价,证实JRTSS是一个用于系统开发的有力工具。  相似文献   

19.
Java语言的度量及工具实现   总被引:2,自引:0,他引:2  
简述了面向对象软件度量的最新进展,并设计和实现了基于目前流行的C&K度量方法的Java语言度量工具。  相似文献   

20.
EVM是一种能够帮助软件组织降低项目风险、提高开发效率、减少项目开支的行之有效的软件过程改进方法,EVM~3是一个提高软件组织使用EVM管理项目能力的模型。本文介绍了EVM~3的基本概念、与CMMI的关系,以及一个支持EVM~3进行软件过程改进的工具SPIF。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号