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.
Type de document :
Article dans une revue
Computer Languages, Systems and Structures, Elsevier, 2011
Liste complète des métadonnées

Littérature citée [24 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00629677
Contributeur : Lse Lse <>
Soumis le : vendredi 7 octobre 2011 - 21:35:57
Dernière modification le : jeudi 11 janvier 2018 - 06:22:25
Document(s) archivé(s) le : mardi 13 novembre 2012 - 15:25:52

Fichier

Uqui11a-RingJournalPaper-CSSJo...
Accord explicite pour ce dépôt

Identifiants

  • 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〉

Partager

Métriques

Consultations de la notice

321

Téléchargements de fichiers

222