共查询到20条相似文献,搜索用时 156 毫秒
1.
《计算机应用与软件》2017,(10)
目前许多研究人员对自动化软件重构进行了探索并开发了一系列重构工具,旨在帮助程序员更高效地完成软件重构任务、提升代码质量。然而,现有的软件重构工具多侧重于局部的设计或编码问题,而非设计层面的问题。另一方面,基于搜索的重构方法往往将改进某一项代码度量指标作为重构目标,而非面向软件的层次化设计。针对这种情况,提出一种新的基于搜索的软件自动化重构方法,该方法使用了基于设计结构矩阵(DSM)的软件模块层次化度量方法,能够自动生成可以得到最优软件模块化设计的重构建议。在此基础上,实现了自动化重构工具DSMRefactoring,并将DSMRefactoring应用于开源系统进行案例研究,初步验证了方法和工具的有效性。 相似文献
2.
重构可以改进既有软件的设计、提高软件质量,是一种行为保持的转化过程。自动化重构工具的广泛使用使得提高它的可靠性变得十分重要,然而即使是很简单的重构方法仍会导致许多错误,这些错误将会导致程序转换前后的行为不一致。因此提出对重构方法的形式化验证,只有这样才能将分析覆盖到所有可能的情况,完全地保证重构前后程序行为的一致性,即重构过程的正确性。该研究方向对软件发展的前景是十分有利的,但同时在程序验证的挑战性上也是十分巨大的。分析了基于分解的重构验证方法,并应用该验证方法,选择重构方法之一的"搬移字段"方法进行了详细的分析和验证。在完善重构验证这一研究方向作出了一定贡献。 相似文献
3.
Java语言提供了同步锁、可重入锁和读写锁等几种锁机制,在并行程序设计中不同的数据结构使用这几种锁机制时获得的性能通常是不同的。为了在不同的锁机制之间进行自动转换,进而帮助程序员了解程序的性能,提出了一种面向Java锁机制的字节码自动重构框架,并基于该框架实现了字节码重构工具Lock2Lock。Lock2Lock在Quad中间表示的基础上对字节码进行静态分析,并对分析的结果进行一致性验证,通过Javassist完成字节码的重构。使用红黑树、消费者生产者程序以及SPECjbb2005 3个测试程序对Lock2Lock重构工具进行了测试,结果表明,Lock2Lock可以成功地实现从同步锁到可重入锁或读写锁的重构。 相似文献
4.
由于条件分支语句的多重嵌套,导致代码的逻辑结构不清晰,可读性差,降低了生成基本路径集时划分基本块的效率。据此,提出一种代码自动化重构方法,该方法运用编译原理中语法分析的自下而上分析方法和归约思想,能够对嵌套的if-else条件语句实现自动化调整,实现代码结构的清晰化,更适用于生成基本路径集的工具,该方法提高了生成基本路径集的效率。而对于基于模型代数的基本路径集生成工具,改进了生成模型代数表达式的算法,并且能够准确地生成基本路径集。最后通过实验对案例进行对比,验证了重构方法及改进算法的有效性。 相似文献
5.
6.
应用软件重构技术,需要解决修改代码却不影响程序原有功能的问题.文章利用契约式程序设计思想解决重构的行为保持问题,给出了契约式重构(Refactoring by Contract)方法,并应用Java语言给出了这种方法的具体实现过程. 相似文献
7.
《计算机应用与软件》2016,(3)
重构可以改善软件系统的内部结构,提高软件可理解性、可维护性,而又不改变软件的外部行为。传统的源码层次的重构虽有很多重构工具的支持,但是对于复杂软件的重构难度大,容易出错。针对这种情况,提出基于程序蓝图模型层次的重构。考虑到UML模型直观性的特点,给出UML类图模型在系统体系结构上的重构操作和实例,为重构在软件框架结构上的实施提供有力的支持。深入研究过程蓝图模型使用树形结构来描述程序的方法,定义过程蓝图相关重构操作并给出具体操作实例及过程,最后从过程蓝图模型生成新的源码。实验结果表明,UML模型和过程蓝图模型层次上的重构,提高了重构的抽象级别和效率。该方法能有效支持复杂软件的重构,并减少出错率。 相似文献
8.
9.
10.
11.
云贵全 《数字社区&智能家居》2011,(18)
提高软件项目的可复用性,降低模块之间的耦合度,一直是软件开发过程中最求的目标。伴随着Java技术应用的日益普遍,基于Java技术的开源框架也越来越多,其中有一些框架已经被业界普遍认可。Struts、Spring和Hibernate就是这些框架中的佼佼者,使用这些技术可以规范Java项目的开发,降低模块的耦合度,提高代码的复用性。该文中主要阐述使用这三种框架如何集成以及如何对软件项目进行架构,具有一定的参考价值。 相似文献
12.
13.
开源工作流系统——Enhydra Shark分析 总被引:1,自引:1,他引:0
Enhydra Shark是Lutris公司组织开发的一个具有可扩展功能的开源工作流系统软件,它基于Java平台,并完全遵循WfMC相关规范.Enhydra包含一个可视化建模工具,一个工作流执行服务以及一套客户端应用开发接口函数.由于Shark源代码开放,因此可借鉴其内部架构和实现方式应用到实际系统中,为此本文详细地剖析了它的结构和工作过程. 相似文献
14.
移动设备的大量产生,使人们将目光转移到移动端软件开发当中,通过研发出各种各样的移动端软件,能够有效满足人们的生活、学习、生产需求,极大程度地推动了社会经济增长。本文对Java 语言在安卓系统软件开发中的应用优势进行探讨,分析了Java 语言对安卓系统软件架构的影响,并以加密软件的开发为例对基于Java 语言的移动端软件的开发流程进行了探讨。 相似文献
15.
Java反射是提高软件系统灵活性的重要技术,它是Java被视为动态语言的一个关键特性。虽然CLDC规范并不支持反射,但是在基于Java技术的嵌入式领域,反射仍有其应用需求。Sun公司根据CLDC规范发布了一套嵌入式Java技术的参考实现,其虚拟机被称作KVM。通过分析KVM的相关数据结构和机制,详细描述了反射机制的设计原理,并提出了一种在KVM中扩展反射功能的实现方案,经过测试证明该方案是可行的。 相似文献
16.
介绍了Java原型开发法,即一种新的互联网平台开发方法,并阐述了该开发方法中的关键技术-分层策略,使用基于分层策略的Java原型开发法可增加原型的重用能力,缩短互联网应用系统的开发周期,提高软件生产效率。 相似文献
17.
文章了Java原型开发法,一种新的互联网平台开发方法。阐述了该方法中的关键技术--分层策略。使用基于分层策略的Java原型开发法可增加原型的重用能力,缩短了互联网应用系统的开发周期,提高了软件的生产效率。 相似文献
18.
基于WWW的仿真软件JRTSS(Java-basedRealTimeSystemSimulator)以RTSS仿真软件为基础,保持其原有特色,并采用Java为编程语言,运行在Browser/Server环境下。JRTSS软件由三部分组成:仿真核心、建模程序与结果后处理程序。其中仿真核心运行在Server端,建模和结果后处理程序为JavaApplet,由用户的Browser下载并执行。JRTSS的系统模型是一个开放队列网络。通过在不同抽象层次对多个数据采集与处理系统、通信网络以及柔性制造系统的仿真与性能评价,证实JRTSS是一个用于系统开发的有力工具。 相似文献
19.