首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 156 毫秒
1.
重构是对软件的一种调整,在不改变软件的行为的同时提高其可理解性,降低其修改成本.模板是标准C+ +语言中的一个重要特性,并激起了对于基于此的泛型程序设计的研究.文中研究了如何将C+ +模板特性应用到软件重构中.重构是提高软件内部质量的重要途径,通过结合C+ +语言的模板特性,可以让程序更为精练、更为容易重用和改进.通过一些具体的实例,论述和介绍了三个基于模板的重构手法,以及对原有的程序设计的改进.  相似文献   

2.
为了研究半导体器件特性,对器件特性模拟软件PISCES需要不断进行改进。由于PISCES的源程序是用Fortran语言写的,而且前程序设计普遍使用C语言,因此我们将其源程序由Fortran语言转化成了C语言。整个程序编译联接成功,全面功能运行正确。本文结合实际的转化过程,阐述了由Fortran语言到C语言的源程序转化方法。  相似文献   

3.
重构可以改进软件设计、提高软件质量。自动化重构工具的使用可以避免手工重构时引入的错误,提高软件开发效率。通过对自动化重构技术的研究,结合Java语言的特点,给出了基于Java的重构分类,在此基础上开发了一个基于Java的自动化重构工具ARTJ,给出了ARTJ的模型,分析了它的工作原理和各主要组件的功能,并展示利用ARTJ自动实现程序的改进。  相似文献   

4.
面向方面程序设计语言研究综述   总被引:3,自引:1,他引:2       下载免费PDF全文
作为控制软件复杂性、提高软件模块化程度、增强软件开发灵活性的重要技术手段之一,面向方面程序设计语言经过十多年的发展,日益受到软件研究者和实践者的关注,并发展成为软件工程的一个重要的研究领域。基于该领域近十年来的研究进展,分析总结了面向方面程序设计语言中的主要语言特性和关键实现技术;按照不同的语言特性对面向方面程序设计语言进行分类,并探讨了其发展与研究方向。  相似文献   

5.
《软件》2016,(11):84-87
C语言自其出现以来便以其优秀的特性被广泛应用于程序开发中,如今C语言程序在各大领域依然发挥着重要的作用,尤其在一些重要的部门领域如航空航天、医疗、银行等部门提供着系统支持,相应的在软件安全和系统稳定上有更高的要求。本文主要针对C语言程序中常见的变量异常检测进行研究,以现有开源软件位基础实现编译器前端对C语言源程序进行词法语法解析,并实现基于C语言源代码插桩检测程序变量使用异常的实验,对"变量使用前未赋初值"、"变量值溢出"等变量使用错误错误实现检测和反馈。  相似文献   

6.
《信息与电脑》2019,(21):104-105
C语言是一种计算机高级程序语言,在计算机系统及软件编辑中有着非常广泛的应用,学习C语言编辑程序技巧对于提高计算机高级程序的编辑实践应用有着重要的促进意义。基于此,笔者主要论述了C语言的主要内容,分析了C语言编程的核心思想,探讨了C语言编辑程序的技巧,旨在为计算机专业学生应用C语言编辑系统及软件提供一些参考和建议。  相似文献   

7.
软件重构在不改变程序行为的情况下通过对代码进行小的改进以提升设计,使之更容易理解和维护,面向方面的程序设计是软件开发的新技术,为了有效实施面向方面的软件重构,需要开发者识别面向方面程序的转化规则。然而,由于使用的AOP语言没有形式化的语义定义,难以确认转化和重构的程序运行行为。本文对MCI操作语义的面向方面的扩展使之支持程序的方面特征的描述,定义了两个程序的观测等价,讨论了AspectJ的形式语义模型的建立,在MCI的语义下形式化地精确证明了Add Before-executing编程规则的观测等价性,其基本原理和方法可以适用于其他规则的证明,通过上述工作提出了面向方面重构的程序和它的面向对象程序原型等价性的证明方法。  相似文献   

8.
针对面向对象程序教学,提出在实验教学中通过设计案例,应用代码重构工具对程序进行重构和改进,提高学生对代码复用以及软件重构等的认识,有助于面向对象思想的掌握,也有利于学生编程能力的提高。  相似文献   

9.
李璜华  李凌  赵宇  王生原  李翔宇 《软件学报》2020,31(8):2285-2308
本文设计一种用于实现可重构网络数据包解析器的专用硬件配置描述语言P3.由于要有利于高安全等级网络的实现,我们侧重于从高可信性角度进行语言设计,包括形式化定义该语言的类型系统和操作语义,以及设计其可信编译结构.基于对可重构硬件基本需求的充分理解,本文从软硬件协同角度出发,最终明确了P3语言的核心特性及其编译器P3C的可信编译结构.由于可重构数据包解析器是软件定义网络(SDN)、可编程数据平面的重要一环,因此实现P3C的可信编译结构将对SDN的安全性有着重大意义.期待P3C项目的开展,能促进网络与形式化领域相关工作的进一步研究.  相似文献   

10.
模态(Mode)表示的是软件可操作配置的状态,在一个或多个模态内可对资源和属性进行重新配置,即重构。目前,在对VxWorks系统下C程序的AADL架构进行模态的提取和蓝图制定过程中,还没有现成的工具。因而,设计一个基于AADL架构的软件重构工具将给软件架构的重构提供更大的帮助。为了搭建起基于AADL架构的软件重构可扩展工具平台,在Eclipse开源开发环境下,设计了SRM2( Software Reconfiguration Middlcware based on Mode)插件工具。SRM2工具主要完成对C程序的AADL架构的扫描进而描述程序架构的静态蓝图信息,以及结合代码(探针设计和植入)在VxWorks系统下的运行信息生成动态蓝图,从而指导软件的重构。  相似文献   

11.
Increasing complexity of software documentation calls for additional requirements of document maintenance. Documentation reuse can make a considerable contribution to solve this problem. This paper presents a method for fuzzy repetitions search in software documentation that is based on software clone detection. The search results are used for document refactoring. This paper also presents Documentation Refactoring Toolkit implementing the proposed method and integrated with the DocLine project. The proposed approach is evaluated on documentation packages for a number of open-source projects: Linux Kernel, Zend Framework, Subversion, and DocBook.  相似文献   

12.
Recording address traces that occur during a program execution is a significant technique for computer performance analysis. This paper describes a software method for address tracing via the instrumentation of C based languages. All program transformations are performed at the language level. This approach, which differs from the usual methods, allows portable and flexible program instrumentation. This tool has been developed to make easier the memory optimization of LIREChèques, an automatic bank check reading system. Two applications of the tool are clearly identified: (i) data cache use optimization, (ii) dynamic memory use optimization.  相似文献   

13.
In this paper, we consider ANSI C program slicing using XML (Extensible Markup Language). Our goal is to build a flexible, useful and uniform data interchange format for CASE tools, which is a key issue to make it much easier to develop CASE tools such as program slicers. Although XML has a great potential for such data interchange formats, we first point out that there are still a lot of challenging problems to be solved. Then, as a first step to our goal, we introduce ACML (ANSI C Markup Language), which describes the syntactic structure and static semantics for ANSI C code. In our preliminary experiment, we had a good result; it took only 0.5 man-month to implement Weiser's slicer based on ACML, whereas it took about 2 man-months to implement an ANSI C parser and static semantics analyzer of XCI (Experimental C Interpreter).  相似文献   

14.
Use Case modeling is a popular technique for documenting functional requirements of software systems. Refactoring is the process of enhancing the structure of a software artifact without changing its intended behavior. Refactoring, which was first introduced for source code, has been extended for use case models. Antipatterns are low quality solutions to commonly occurring design problems. The presence of antipatterns in a use case model is likely to propagate defects to other software artifacts. Therefore, detection and refactoring of antipatterns in use case models is crucial for ensuring the overall quality of a software system. Model transformation can greatly ease several software development activities including model refactoring. In this paper, a model transformation approach is proposed for improving the quality of use case models. Model transformations which can detect antipattern instances in a given use case model, and refactor them appropriately are defined and implemented. The practicability of the approach is demonstrated by applying it on a case study that pertains to biodiversity database system. The results show that model transformations can efficiently improve quality of use case models by saving time and effort.  相似文献   

15.
基于过程蓝图的程序环路复杂性度量方法   总被引:1,自引:0,他引:1  
提出一种基于过程蓝图的程序环路复杂性度量实现方法。将传统基于程序控制流图的度量信息抽取变为对过程蓝图的实现层表示-抽象实现结构图的信息抽取,避免程序源代码的语法分析和控制流图的构造,简化度量过程和实现,并提高度量处理的效率。  相似文献   

16.
Because large-scale software development is a struggle against internal program complexity, the modules into which programs are divided play a central role in software engineering. A module encapsulating a data type allows the programmer to ignore both the details of its operations, and of its value representations. It is a primary strength of program proving that as modules divide a program, making it easier to understand, so do they divide its proof. Each module can be verified in isolation, then its internal details ignored in a proof of its use. This paper describes proofs of module abstractions based on functional semantics, and contrasts this with the Alphard formalism based on Hoare logic.  相似文献   

17.
Innovations in Systems and Software Engineering - Refactoring is the art of improving the internal structure of a program without altering its external behavior, and it is an important task when it...  相似文献   

18.
陈林  徐宝文  钱巨  周天琳  周毓明 《软件学报》2009,20(10):2617-2627
重构泛型实例有利于提高软件的复用性和类型安全,但现有重构方法的时间复杂度较高,不适用于即时持续的重构.分析了变量类型传播分析方法在重构中的不足,提出了一种改进的泛型变量类型传播分析方法.该方法通过引入一种可以描述复杂参数化类型关系的泛型类型传播图,以复制节点的方式实现泛型变量属性敏感的类型分析,并通过解决别名问题来提高分析的精度.实例研究表明,可以在与程序规模呈近似线性增长的时间复杂度内实施重构,取得了较满意的效果.  相似文献   

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

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