Technische Universität Braunschweig
  • Studium & Lehre
    • Vor dem Studium
      • Informationen für Studieninteressierte
      • Studiengänge von A-Z
      • Bewerbung
      • Fit4TU - Self-Assessment
      • Beratungsangebote für Studieninteressierte
      • Warum Braunschweig?
    • Im Studium
      • Erstsemester-Hub
      • Semestertermine
      • Lehrveranstaltungen
      • Studien-ABC
      • Studienorganisation
      • Beratungsnavi
      • Zusatzqualifikationen
      • Finanzierung und Kosten
      • Besondere Studienbedingungen
      • Gesundheit & Wohlbefinden
      • Campusleben
    • Nach dem Studium
      • Exmatrikulation und Vorlegalisation
      • Nach dem Abschluss
      • Alumni*ae
    • Strategien und Qualitätsmanagement
      • Qualitätsmanagement
      • Systemakkreditierung
      • Studienqualitätsmittel
      • TU Lehrpreis
    • Für Lehrende
      • Informationen für Lehrende
      • Konzepte
      • Lernmanagementsystem Stud.IP
    • Kontakt
      • Studienservice-Center
      • Sag's uns - in Studium und Lehre
      • Zentrale Studienberatung
      • Immatrikulationsamt
      • Abteilung 16 - Studium und Lehre
      • Career Service
      • Projekthaus
  • Forschung
    • Forschungsprofil
      • Forschungsschwerpunkte
      • Exzellenzcluster der TU Braunschweig
      • Forschungsprojekte
      • Forschungszentren
      • Forschungsprofile der Professuren
    • Frühe Karrierephase
      • Förderung in den frühen Phasen der wissenschaftlichen Karriere
      • Promotion
      • Postdocs
      • Nachwuchsgruppenleitung
      • Junior Professur und Tenure-Track
      • Habilitation
      • Service-Angebote für Wissenschaftler*innen
    • Forschungsdaten & Transparenz
      • Transparenz in der Forschung
      • Forschungsdaten
      • Open Access Strategie
      • Digitale Forschungsanzeige
    • Forschungsförderung
      • Netzwerk Forschungsförderung
      • Datenbanken und Stiftungen
    • Kontakt
      • Forschungsservice
      • Graduiertenakademie
  • International
    • Internationale Studierende
      • Warum Braunschweig?
      • Studium mit Abschluss
      • Austauschstudium
      • TU Braunschweig Summer School
      • Geflüchtete
      • International Student Support
      • International Career Service
    • Wege ins Ausland
      • Studium im Ausland
      • Praktikum im Ausland
      • Lehren und Forschen im Ausland
      • Arbeiten im Ausland
    • Internationale Forschende
      • Welcome Support for International Researchers
      • Service für gastgebende Einrichtungen
    • Sprachen und interkulturelle Kompetenzvermittlung
      • Deutsch lernen
      • Fremdsprachen lernen
      • Interkulturelle Kompetenzvermittlung
    • Internationales Profil
      • Internationalisierung
      • Internationale Kooperationen
      • Strategische Partnerschaften
      • Internationale Netzwerke
    • International House
      • Wir über uns
      • Kontakt & Sprechstunden
      • Aktuelles und Termine
      • International Days
      • 5. Studentische Konferenz: Internationalisierung der Hochschulen
      • Newsletter, Podcast & Videos
      • Stellenausschreibungen
  • Die TU Braunschweig
    • Unser Profil
      • Ziele & Werte
      • Ordnungen und Leitlinien
      • Allianzen & Partner
      • Hochschulentwicklung 2030
      • Internationale Strategie
      • Fakten & Zahlen
      • Unsere Geschichte
    • Karriere
      • Arbeiten an der TU
      • Stellenmarkt
      • Berufsausbildung an der TU
    • Wirtschaft & Unternehmen
      • Unternehmensgründung
      • Freunde & Förderer
    • Öffentlichkeit
      • Veranstaltungskalender
      • Check-in für Schüler*innen
      • Hochschulinformationstag (HIT)
      • CampusXperience
      • Kinder-Uni
      • Das Studierendenhaus
      • Gasthörer*innen & Senior*innenstudium
      • Nutzung der Universitätsbibliothek
    • Presse & Kommunikation
      • Stabsstelle Presse und Kommunikation
      • Medienservice
      • Ansprechpartner*innen
      • Tipps für Wissenschaftler*innen
      • Themen und Stories
    • Kontakt
      • Allgemeiner Kontakt
      • Anreise
      • Für Hinweisgeber
  • Struktur
    • Leitung & Verwaltung
      • Das Präsidium
      • Stabsstellen
      • Verwaltung
      • Organe, Statusgruppen und Kommissionen
    • Fakultäten
      • Carl-Friedrich-Gauß-Fakultät
      • Fakultät für Lebenswissenschaften
      • Fakultät Architektur, Bauingenieurwesen und Umweltwissenschaften
      • Fakultät für Maschinenbau
      • Fakultät für Elektrotechnik, Informationstechnik, Physik
      • Fakultät für Geistes- und Erziehungswissenschaften
    • Institute
      • Institute von A-Z
    • Einrichtungen
      • Universitätsbibliothek
      • Gauß-IT-Zentrum
      • Zentrale Personalentwicklung
      • International House
      • Projekthaus
      • Transferservice
      • Hochschulsportzentrum
      • Einrichtungen von A-Z
    • Studierendenschaft
      • Studierendenparlament
      • Fachschaften
      • Studentische Wahlen
    • Lehrer*innenbildung
      • Lehrer*innenfortbildung
      • Forschung
    • Chancengleichheit
      • Gleichstellung
      • Familie
      • Diversität
    • Kontakt
      • Personensuche
  • Suche
  • Schnellzugriff
    • Personensuche
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Mensa
    • TUconnect (Studierendenportal)
    • Lehrveranstaltungen
    • Im Notfall
    • Stud.IP
    • UB Katalog
    • Status GITZ-Dienste
    • Störungsmeldung GB3
    • IT Dienste
    • Informationsportal (Beschäftigte)
    • Beratungsnavi
    • Linksammlung
    • DE
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
    • Bluesky
Menü
  • Struktur
  • Fakultäten
  • Carl-Friedrich-Gauß-Fakultät
  • Institute
  • Institut für Softwaretechnik und Fahrzeuginformatik
  • Forschung
Logo Institut für Softwaretechnik und Fahrzeuginformatik der TU Braunschweig
Vampires
  • Forschung
    • RED SPLAT (Reverse Engineering von Softwareproduktlinien für Maschinen und Anlagenbau)
    • Artifice
    • Correctness-by-Construction (CbC)
    • CrESt (Collaborative Embedded Systems)
    • Deltas
    • HyVar (Hybrid Variability)
    • Scaves
    • spp1593
    • Vampires

Vampires

VAmPiRE: Variantenerhaltende Refactorings für Feature-Orienterte Software-Produktlinien Variant-Preserving Refactoring for Feature-Oriented Software Product Lines

Introduction/Einführung

 

Refactoring is the process of restructuring the internals of a software system (e.g., source code) while preserving the external, user-visible behavior. It has been proposed more than two decades ago as a countermeasure for architectural decays, design flaws and code pollution. As a result of applying refactorings, the system is easier to understand and to maintain and less risky to change. Due to the aforementioned benefits that come with refactoring, it has been subject to comprehensive reasearch, especially for object-oriented systems, and can be considered to be a well-explored technology. However, with respect to software product lines (SPLs), refactoring is rather poorly investigated. Although most of implementation approaches rely on exisiting programming languages and paradigms, the traditional refactorings such as proposed by Fowler et al. (see Refactoring home page) can not be applied. The reason is that for SPLs, we have to take the variability explicitly into account as an additional dimension. As a result, refactoring for SPLs has to preserve the behavior of potentially thousends of programs instead of one. Obviously, this ia a challenging, non-trivial task not yet solved. With VAmPiRE, we want to provide a first step towards practical refactorings for software product lines. VAmPiRE is an Eclipse Plugin that supports developers with refactoring of feautre-oriented software product lines. To this end, VAmPiRE relies on different existing tools for SPL development, namely FeatureIDE, FeatureHouse, and Fuji.

 

Getting Started

 

In the following, we explain how to use VAmPiRe by exemplary application of the Pull Up Method (PUM) refactoring. First, you have to download the respective .jar file (see below).

1.Initialization -- Starting the Refactoring Wizard

As a starting Point, you need a FeatureIDE project that has been developed with FeatureHouse. We used TankWar, a shoot 'em up game, developed as an SPL. You can download the version we used for evaluating the PUM refactoring in the download part of this site.
To initiate the PUM refactoring, you have two possibilities. First, you can right-click on a role (i.e., a .java file in a certain feature module) in the package explorer and then choose VAmPiRe refactoring ->Pull Up Method. Alternatively, you select a method (either the signature or the whole body) in the editor, then right-click and proceed as with the aforementionmed option. In both cases, if the refactoring is applicable (e.g., the corresponding feature has a direct parent feature), the inital wizard page for the PUM refactoring should appear, similarly to the following figure:

ISF Expertise
Figure 1: First page of the Pull Up Method Refactoring Wizard (after initialization)

Downloads

VAmPiRE is an Eclipse plug-in which requires other plugins to be used. The current version the following plug-ins

  • Eclipse Juno SR 2 (RCP and RAP), version 1.5.2.20130211-1820
  • FeatureIDE, version 2.6.5.201305292036 with the following features:
    • Feature Modeling, version 2.6.5.201305292036
    • FeatureIDE extension for FeatureHouse, version 2.6.5.201305292036
    • FeatureIDE example projects, version 2.6.5.201305292036 (only necessary for applying refacotrings to existing FOP examples)
  • Fuji, (last version: 2012-03-26)

Download the following .jar file, copy it into the dropin folder of you Eclipse IDE and restart Eclipse (it it is open)

  • VAmPiRE plug-in

The TankWar product line for download: TankWar (with FeatureHouse)

Contact

  • Sandro Schulze
Bildnachweise dieser Seite

Für alle

Stellen der TU Braunschweig
Jobbörse des Career Service
Merchandising
Sponsoring- & Spendenleistungen
Drittmittelgeförderte Forschungsprojekte
Vertrauenspersonen für Hinweisgeber

Für Studierende

Semestertermine
Lehrveranstaltungen
Studiengänge von A-Z
Informationen für Erstsemester
TUCard

Interne Tools

Status GITZ-Dienste
Handbuch für TYPO3 (Intern)
Corporate Design-Toolbox (Intern)
Glossar (DE-EN)
Meine Daten ändern
Hochschulöffentliche Bekanntmachungen

Kontakt

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0

Anreise

© Technische Universität Braunschweig
Impressum Datenschutz Barrierefreiheit

Zur anonymisierten Reichweitenmessung nutzt die TU Braunschweig die Software Matomo. Die Daten dienen dazu, das Webangebot zu optimieren.
Weitere Informationen finden Sie in unserer Datenschutzerklärung.