Stereo: editing clones refactored as code generators

Nic Volanschi 1
1 Phoenix - Programming Language Technology For Communication Services
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, EA4136 - Handicap et système nerveux :Action, communication, interaction: rétablissement de la fonction et de la participation [Bordeaux]
Abstract : Clone detection is a largely mature technology able to detect many code duplications, also called clones, in software systems of practically any size. The classic approaches to clone management are either clone removal, which consists in refactoring clones as an available language abstraction, or clone tracking, using a so-called linked editor, able to propagate changes between clone instances. However, past studies have shown that clone removal is not always feasible due to the limited expressiveness of language abstractions, or not desirable because of the abstraction overhead or the risks inherent to the refactoring. Linked editors, on the other hand, provide costless abstraction at no risk, but have their own issues, such as limited expressiveness, scalability, and controllability. This paper presents a new approach in which clones are safely refactored as code generators, but the unmodified code is presented to the maintainers with the same look-and-feel as in a linked editor. This solution has good expressiveness, scalability, and controllability properties. A prototype such editor is presented along with a first application within an industrial project.
Type de document :
Communication dans un congrès
ICSME 2018 - 34th IEEE International Conference on Software Maintenance and Evolution, Sep 2018, Madrid, Spain
Liste complète des métadonnées

https://hal.inria.fr/hal-01882545
Contributeur : Eugene Volanschi <>
Soumis le : jeudi 27 septembre 2018 - 10:38:05
Dernière modification le : jeudi 25 octobre 2018 - 15:12:07

Fichier

stereo.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01882545, version 1

Citation

Nic Volanschi. Stereo: editing clones refactored as code generators. ICSME 2018 - 34th IEEE International Conference on Software Maintenance and Evolution, Sep 2018, Madrid, Spain. 〈hal-01882545〉

Partager

Métriques

Consultations de la notice

58

Téléchargements de fichiers

47