Ring: a Unifying Meta-Model and Infrastructure for Smalltalk Source Code Analysis Tools - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue Computer Languages, Systems and Structures Année : 2012

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

Résumé

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.
Fichier principal
Vignette du fichier
Uqui11a-RingJournalPaper-CSSJournal.pdf (721.32 Ko) Télécharger le fichier
Origine : Accord explicite pour ce dépôt
Loading...

Dates et versions

inria-00629677 , version 1 (07-10-2011)

Identifiants

Citer

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, 2012, 38 (1), pp.44-60. ⟨10.1016/j.cl.2011.11.001⟩. ⟨inria-00629677⟩
264 Consultations
405 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More