Tim Krämer. Archimetrix - Improved Software Architecture Recovery in the Presence of Design Deficiencies. 08. Mai 2013

Ähnliche Dokumente
Analyse des Papers Archimetrix - Improved Software Architecture Recovery in the Presence of Design Deficiencies

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Ziele und Tätigkeiten von Architekten

Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Visual Studio 2010 Neues für Architekten

Sports Data Mining. The Field and Methodology. Sublogo Fachbereich Informatik Prof. Johannes Fürnkranz 1

Textsorten. Folien zum Tutorium Internationalisierung Go West: Preparing for First Contacts with the Anglo- American Academic World

Vorlesung Software-Reengineering

Verwaltung von Signaturen für Malware-Gruppen

Was ist Software-Architektur?

Modellierung der Business Architecture mit BPM 12c

Sie sich dazu entschieden haben, eine BA-Arbeit am LS Brosius zu schreiben

Comparison of Software Products using Software Engineering Metrics

Zur Erstellung des Projektberichts u. a. wissenschaftlicher Arbeiten

Vorlesung Software Reengineering

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Task-Based Learning und Aufgabenorientierung im Fremdsprachenunterricht als Antwort auf die Bildungstandards?

Kapitel 3 Software Quality III

ÄNDERUNGEN UND SCHWERPUNKTE

Entwurfsmuster und Softwarearchitekturen für sicherheitskritische Systeme

Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum

MBEES Research Abstract Ein Framework zur automatisierten Ermittlung der Modellqualität bei eingebetteten Systemen

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Comparing Software Factories and Software Product Lines

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Multivariate Lieferantenbewertung

Reduzierung der Komplexität gewachsener Unternehmensarchitekturen (EAs)

Gutachten zu einer Diplomarbeit 1

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Zustandsbewertung und Lebensdauerbewertung von Komponenten in Kernkraftwerken unter Berücksichtigung des internationalen Regelwerks

Umsichtig planen, robust bauen

Die Ergebnisse der RWTH Aachen in ausgewählten Hochschulrankings

Hinweise zum Erstellen eines Exposés für die Abschlussarbeit

Notationen zur Prozessmodellierung

Identifikation gesellschaftlicher Probleme automatisierter Videoüberwachung. Diplomarbeit

Bachelorarbeit. Was ist zu tun?

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Der Einsatz der Six Sigma-Methode zur Qualitätssteigerung in Unternehmen

OOAD Richtlinien & Tips

Validierung von System- Architekturen

Management von Softwaresystemen Systembewertung: Metriken und Prozess

Leitfaden zur Erstellung der Masterarbeit in der Erziehungswissenschaft Schwerpunkt Sozialpädagogik

Arbeiten mit wissenschaftlicher Literatur

Richtlinien und Hinweise für. Seminararbeiten

CeBIT CARMAO GmbH

Seminar Programmierung und Reaktive Systeme

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan November 2015

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Softwaretechnik II. Sommersemester 2015

Wanderungsdaten nach Ziel und Herkunft

Datenmodellierung im Zeitalter agiler Softwareentwicklung

CALL FOR PAPERS & HDI

Durch den anderen InHouse - Workshop zu höchster Effizienz und Effektivität in Unternehmen, Produktion und Logistik

Systemdenken und Gestaltungsmethodik Dokumentation

Verybench: grafisches Frontend für Testwell CMT++ Code Complexity Measures Tool

Software Engineering

Entrepreneurial Management

Application Performance Management. Auch eine Frage des Netzwerkes?

«Titel der Arbeit» SEMINARARBEIT. an der. Universität Regensburg. Eingereicht bei der Honorarprofessur für Wirtschaftsinformatik,

Ausgangssituation und Zielsetzung. eingereicht von Ansgar Lamersdorf am an der TU Kaiserslautern

Leistungsfähigkeit von Lokalisierungsverfahren im WLAN

Software Engineering und Projektmanagement

Quantität für Qualität

Entwicklung der Persistenzschicht für f eine Java-Anwendung aus dem UML-Modell. Modell mit und. Matthias Ehlert microtool GmbH, Berlin

SECTINO. Security for Inter-Organizational Workflows

Softwarequalität sicherstellen mit Sonar

Complex Event Processing

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

Softwaremetriken verstehen und nutzen

Space Usage Rules. Neele Halbur, Helge Spieker InformatiCup März 2015

WLAN-Ortung im Projekt MagicMap Referenzpunkteverwaltung

EINZIGARTIGE VISUALISIERUNG UND MODELLIERUNG VON SERVICES IM SERVICE- KATALOG DES SAP SOLUTION MANAGER

windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream

Informationssystemanalyse Das Capability Maturity Model 5 1

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Präsentationsprüfung in Klasse 10. Informationsmaterialien. Kriterien für die Präsentation

Vorsprung durch Know-how-Schutz

Phasen. Gliederung. Rational Unified Process

Guten Morgä(h)n! Jetzt: Kleiner Exkurs erfolgreiches Projekt aus den USA

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

Seminar Software Architektur Übersicht. Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt

Balanciertes Performance Measurement

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Kürzlich abgeschlossene Diplom- und Masterarbeiten

Computacenter ebnet den Weg zu effizientem und kostensparendem Software Asset Management am Flughafen Köln/Bonn

OSS/J als Basis für Enterprise Application Integration

Abbildungsverzeichnis Tabellenverzeichnis Abkürzungsverzeichnis

Das Softwaresystem BASEMENT

Stephan Klingner, Stephanie Pravemann, Michael Becker ERGEBNISSE DER STUDIE «PRODUKTIVITÄT BEI DIENSTLEISTUNGEN»

ISO 14001:2015

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Master Thesis (Kurzzusammenfassung)

Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus. Gerd Mauthe

Scheduling for Time-Triggered Network Communication

Von Requirements zutests. gç~åüáãkpåüìäò]èì~äáíóé~êâkçé

Der Rational Unified Process

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm

Transkript:

Tim Krämer 7kraemer@informatik.uni-hamburg.de Archimetrix - Improved Software Architecture Recovery in the Presence of Design Deficiencies 08. Mai 2013 Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 1 von 20

Einordnung und Umfeld wissenschaftliches Paper zum Archimetrix -Projekt in Zusammenarbeit mit DFG und SFB On-The-Fly Computing Universität Paderborn Autoren: Platenius, M. C., von Detten, M., und Becker, S. Mitarbeiter Fachgruppe Softwaretechnik, Heinz Nixdorf Institut Mitarbeiter SFB 901 On-The-Fly Computing Platenius u. von Detten: Informatik Master, Universität Paderborn Becker: Juniorprofessor Softwaretechnik, Universität Paderborn Verwandte Arbeiten: Aufbauend auf: Platenius, M. C. (2011). Reengineering of design deficiencies in component-based software architectures. Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 2 von 20

Gliederung Einleitung Grundlagen Reverseengineeringmethoden Ablauf des Archimetrix -Ansatzes Erweiterungen des Reeingineeringprozesses Methode der Autoren Erkennnung / Identifikation Ranking Vorschau Korrekturauswirkungen Ergebnisse und Implementation Aussichten und Grenzen Bewertung des Papers Einordnung im wissenschaftlichem Umfeld Kritische Betrachtung Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 3 von 20

Grundlagen kompententenbasierende Softwarearchitekturen Clustering-Based Reverse Engineering (SoMoX) Metriken Coupling ( Nähe zweier Gruppen von Klassen ) Design Deficiencies (z.b. Interface Violations) Mängelbeseitigungsstrategien (removal strategies) manuell vom Reengineerer automatisch durch vordefinierte Strategien (z.b. anhand von Interfaces) Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 4 von 20

Beispiel für Architektur mit Mängeln Abbildung : Running Example Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 5 von 20

Archimetrix-Ansatz Annahmen und Anforderungen bestehende Implementationsmängel erkennen (z.b. Interface Violations) clustering tools wesentlich schneller als menschliche Reverse Engineerer Idee: combined reverse and reengineering für besseres Architekturmodell Methode der Autoren Komponentenbasierten clustering Ansatz um 3 Schritte erweitern: Identifizieren von lohnenswerten Komponenten Ranking der erkannten Mängel Vorschau der Auswirkungen einer Korrektur Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 6 von 20

Semiautomatischer Reengineeringvorgang mit Archimetrix-Ansatz Abbildung : Reengineering process Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 7 von 20

Schritt 1: Component Relevance Analysis Bei welchen Komponenten lohnt sich eine genauere Betrachtung? Identifikation durch: Komplexitätsmetrik (Complexity Metric) Angrenzungsmetrik (Closeness to Threshold Metric) Ansatz der Autoren: Beide Metriken gleich gewichtet Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 8 von 20

Schritt 1: Component Relevance Analysis Abbildung : Relevance analysis result calculation höchste Relevanz nach Pareto-Optimum und geometrischer Distanz: logic/ui Komponente Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 9 von 20

Schritt 2: Design Deficiency Ranking Ranking der relevanten Komponenten durch Metriken: Class Locations Metric External Accesses Metric Higher Interface Adherence Metric Berechnung des Rankings durch Pareto-Optimum Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 10 von 20

Schritt 3: Architecture Preview Wie beeinflusst die gewählte Mängelbeseitigungsstrategie die resultierende Architektur? Mängelbeseititung durch: vordefinierte Strategien manuelle Beseitigung durch Reengineerer (keine Vorschau) Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 11 von 20

Schritt 3: Architecture Preview Abbildung : Architecture preview example Unterschiede zwischen der ursprünglichen Architektur und der Vorschau sind hervorgehoben. Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 12 von 20

Ergebnisse und Implementation Autoren implementieren Ansatz in gleichnamiges Tool Archimetrix Anwendung auf Referenzimplementation des Common Component Modeling Example (CoCoME) 127 Klassen, über 5000 Zeilen Java Code, mehrere Designmängel zum Vergleich: dokumentierte angedachte Architektur Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 13 von 20

Ergebnisse und Implementation Fragestellung: 1. Ist die berechnete Relevanz der im ersten Schritt ausgewählten Komponente ein guter Indikator für die Erkennung von lohnenswerten Designmängeln? 2. Führt das Beheben der Mängel, die im zweiten Schritt ein hohes Ranking erfahren haben, zu Veränderungen in der resultierenden Architektur? Und im Gegensatz, führen die niedrig gerankten zu keiner Veränderung? 3. Ist die resultierende Architektur, nach Behebung der relevanten Designmängel näher an der dokumentierten, angedachten Architektur? Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 14 von 20

Ergebnisse 1. Ist die berechnete Relevanz der im ersten Schritt ausgewählten Komponente ein guter Indikator für die Erkennung von lohnenswerten Designmängeln? - In den jeweiligen Top 3 Komponenten wurden Designmängel entdeckt, jedoch unter großem Performance Verlust. (Größe der Komponenten beachten!) Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 15 von 20

Ergebnisse 2. Führt das Beheben der Mängel, die im zweiten Schritt ein hohes Ranking erfahren haben, zu Veränderungen in der resultierenden Architektur? Und im Gegensatz, führen die niedrig gerankten zu keiner Veränderung? - Die Auftreten von Designmängeln, deren Korrektur zu keiner Architekturveränderung geführt haben, sind niedrig gerankt worden. Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 16 von 20

Ergebnisse 3. Ist die resultierende Architektur, nach Behebung der relevanten Designmängel näher an der dokumentierten, angedachten Architektur? - Der Vergleich mit der CoCoME dokumentierten Referenzarchitektur zeigt eine Verbesserung zum vorherigen Verfahren. Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 17 von 20

Aussichten und Grenzen 1. Die meisten der Fragen positiv beantwortet 2. aber: Ansatz basiert auf Annahme, dass eine Art von Architekturmodell vorliegt 3. Prozess basiert auf Heuristiken, aber endgültige Entscheidung bleibt beim Entwickler 4. die größte Komponente ist immer die relevanteste, beide Metriken beziehen Größe ein Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 18 von 20

Bewertung des Papers Interesannter Einstieg (Abstract, Einleitung) gut verständlich und nachvollziehbares Paper Detaillierte Erklärung des Ablaufs umfangreiche Erläuterung von Metriken passende Zusammenfassung mit angemessener Diskussion gute Einordnung in wissenschaftliches Umfeld genaue Quellenangaben Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 19 von 20

Danke für die Aufmerksamkeit! Tim Krämer, 7kraemer@informatik.uni-hamburg.de Universität Hamburg Fachbereich Informatik SRE 20 von 20