Ring: a Unifying Meta-Model and Infrastructure for Smalltalk Source Code Analysis Tools

Abstract : 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.
Document type :
Journal articles
Complete list of metadatas

Cited literature [24 references]  Display  Hide  Download

https://hal.inria.fr/inria-00629677
Contributor : Lse Lse <>
Submitted on : Friday, October 7, 2011 - 9:35:57 PM
Last modification on : Tuesday, August 20, 2019 - 6:14:02 PM
Long-term archiving on : Tuesday, November 13, 2012 - 3:25:52 PM

File

Uqui11a-RingJournalPaper-CSSJo...
Explicit agreement for this submission

Identifiers

  • HAL Id : inria-00629677, version 1

Citation

Verónica Uquillas-Gomez, Stéphane Ducasse, Theo d'Hondt. Ring: a Unifying Meta-Model and Infrastructure for Smalltalk Source Code Analysis Tools. Computer Languages, Systems and Structures, Elsevier, 2011. ⟨inria-00629677⟩

Share

Metrics

Record views

445

Files downloads

534