【24h】

System specific, source code transformations

机译:系统特定的源代码转换

获取原文

摘要

During its lifetime, a software system might undergo a major transformation effort in its structure, for example to migrate to a new architecture or bring some drastic improvements to the system. Particularly in this context, we found evidences that some sequences of code changes are made in a systematic way. These sequences are composed of small code transformations (e.g., create a class, move a method) which are repeatedly applied to groups of related entities (e.g., a class and some of its methods). A typical example consists in the systematic introduction of a Factory design pattern on the classes of a package. We define these sequences as transformation patterns. In this paper, we identify examples of transformation patterns in real world software systems and study their properties: (i) they are specific to a system; (ii) they were applied manually; (iii) they were not always applied to all the software entities which could have been transformed; (iv) they were sometimes complex; and (v) they were not always applied in one shot but over several releases. These results suggest that transformation patterns could benefit from automated support in their application. From this study, we propose as future work to develop a macro recorder, a tool with which a developer records a sequence of code transformations and then automatically applies them in other parts of the system as a customizable, large-scale transformation operator.
机译:在软件生命周期中,软件系统可能会在结构上进行重大的转换工作,例如,迁移到新的体系结构或对系统进行一些重大改进。特别是在这种情况下,我们发现有证据表明某些代码更改序列是以系统方式进行的。这些序列由小的代码转换(例如,创建类,移动方法)组成,这些转换被重复应用于相关实体组(例如,类及其某些方法)。一个典型的示例是在包装类上系统地介绍Factory设计模式。我们将这些序列定义为转换模式。在本文中,我们确定了现实世界软件系统中转换模式的示例,并研究了它们的特性:(i)它们特定于系统; (ii)它们是手动应用的; (iii)并非总是将它们应用于所有可能已经转换的软件实体; (iv)它们有时很复杂; (v)它们并非总是一次使用,而是多次发布。这些结果表明,转换模式可以从其应用程序的自动支持中受益。从这项研究中,我们提出了开发宏记录器的未来工作,该工具是开发人员用来记录代码转换序列,然后将其作为可定制的大规模转换运算符自动应用于系统其他部分的工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号