首页> 外文期刊>Computer Languages, Systems & Structures >Ring: A unifying meta-model and infrastructure for Smalltalk source code analysis tools
【24h】

Ring: A unifying meta-model and infrastructure for Smalltalk source code analysis tools

机译:Ring:Smalltalk源代码分析工具的统一元模型和基础架构

获取原文
获取原文并翻译 | 示例

摘要

Source code management systems record different versions of code. Tool support can then compute deltas between versions. To ease version history analysis we need adequate models to represent source code entities. Now naturally the questions of their definition, the abstractions they use, and the APIs of such models are raised, especially in the context of a reflective system which already offers a model of its own structure. We believe that this problem is due to the lack of a powerful code meta-model as well as an infrastructure. In Smalltalk, often several source code meta-models coexist: the Smalltalk reflective API coexists with the one of the Refactoring engine or distributed versioning system such as Monticello or Store. While having specific meta-models is an adequate engineered solution, it multiplies meta-models and it requires more maintenance efforts (e.g., duplication of tests, transformation between models), and more importantly hinders navigation tool reuse when meta-models do not offer polymorphic APIs. As a first step to provide an infrastructure to support history analysis, this article presents Ring, a unifying source code meta-model that can be used to support several activities and proposes a unified and layered approach to be the foundation for building an infrastructure for version and stream of change analyses. We re-implemented three tools based on Ring to show that it can be used as the underlying meta-model for remote and off-image browsing, scoping refactoring, and visualizing and analyzing changes. As a future work and based on Ring we will build a new generation of history analysis tools.
机译:源代码管理系统记录不同版本的代码。然后,工具支持可以计算版本之间的差异。为了简化版本历史分析,我们需要足够的模型来表示源代码实体。现在自然而然地提出了它们的定义,它们使用的抽象以及此类模型的API的问题,尤其是在已经提供了其自身结构模型的反射系统的情况下。我们认为,此问题是由于缺少强大的代码元模型和基础架构所致。在Smalltalk中,通常有多个源代码元模型共存:Smalltalk反射API与重构引擎或分布式版本控制系统(如Monticello或Store)之一共存。尽管拥有特定的元模型是一个适当的工程解决方案,但它会倍增元模型,并且需要更多的维护工作(例如,重复测试,模型之间的转换),更重要的是,当元模型不提供多态性时,会阻碍导航工具的重用蜜蜂。作为提供支持历史分析的基础结构的第一步,本文介绍了Ring,这是一个统一的源代码元模型,可用于支持多种活动,并提出了一种统一的分层方法作为构建版本基础结构的基础。和变更分析流。我们重新实现了基于Ring的三个工具,以证明它可以用作远程和图像外浏览,范围重构以及可视化和分析更改的基础元模型。作为未来的工作,我们将基于Ring来构建新一代的历史分析工具。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号