Instrumentation von Android Anwendungen mit ExplorViz
|
|
- Jutta Schenck
- vor 6 Jahren
- Abrufe
Transkript
1 Instrumentation von Android Anwendungen mit ExplorViz Jan Witzany 28. September 2016 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
2 Gliederung 1. Motivation 2. Ziele 3. Grundlagen 4. Entwurf 5. Implementierung 6. Evaluation 7. Ausblick Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
3 Motivation Monitoring Android Motivation Android Marktanteil: >85% Viele Applikationen Mangelhafte o. fehlende Dokumentation Programmiersprache: Java 2,000 1,500 1, Abbildung: Anzahl von Apps im Play Store Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
4 Ziele Ziele Instrumentierung von Android Anwendungen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
5 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
6 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
7 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Monitoring mit ExplorViz Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
8 Ziele Ziele Instrumentierung von Android Anwendungen Sourcecode APK Monitoring mit ExplorViz Android Apps in Java kein JavaScript/HTML kein C/C++ Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
9 Grundlagen ExplorViz Grundlagen Live Trace Visualisierung von Programmen Packages und Klassen in einer 3D-Softwarestadtmetapher Java Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
10 Grundlagen ExplorViz II Grundlagen Abbildung: Live Trace Visualization for System and Program Comprehension in Large Software Landscapes, Fittkau, F. (2015) Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
11 Grundlagen ExplorViz III Grundlagen Abbildung: Live Trace Visualization for System and Program Comprehension in Large Software Landscapes, Fittkau, F. (2015) Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
12 Grundlagen Android Grundlagen Java als Programmiersprache Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
13 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
14 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
15 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
16 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen kein Netzwerkverbindung im Main Thread Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
17 Grundlagen Android Grundlagen Java als Programmiersprache Dalvik VM/ART Anroid Versionen Berechtigungen kein Netzwerkverbindung im Main Thread ProGuard Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
18 Grundlagen Aspektorientierte Programmierung public class Aspect ( " execution ( * * (.. ) &&! w i t h i n ( e x p l o r v i z. * * ) " ) public void methodexecution ( ) { ( " p o i n t c u t ( ) " ) public Object aroundadvice ( ProceedingJoinPoint jp ) throws Throwable { / / code before execution of method jp. proceed ( ) } } / / code a f t e r execution of method Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September / 19
19 Entwurf Instrumentierung Entwurf Build-Prozess Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
20 Entwurf ExplorViz Entwurf Android Flag Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
21 Entwurf ExplorViz Entwurf Android Flag TCP im separaten Thread Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
22 Entwurf ExplorViz Entwurf Android Flag TCP im separaten Thread Überprüfen der Module auf Kompatibilität Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
23 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
24 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Post-Compile-Weaving Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
25 Implementierung Instrumentierung Implementierung APK: jadx, APK-Tool Post-Compile-Weaving Gradle-Plugin für AspectJ Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
26 Implementierung ExplorViz: Aspekt Implementierung Length Id ObjectId Classname Implemented Interface Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
27 Implementierung ExplorViz: Aspekt Implementierung Length Id ObjectId Classname Implemented Interface dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
28 Implementierung ExplorViz: System-Monitoring Implementierung Aktueller Ansatz nicht in Android möglich Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
29 Implementierung ExplorViz: System-Monitoring Implementierung Aktueller Ansatz nicht in Android möglich CPU-Auslastung: /proc/stat Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
30 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
31 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 AspectJ Compiler Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
32 Implementierung ExplorViz: BuildProzess Implementierung Java Version 1.7 AspectJ Compiler Entfernen nicht kompatibler Programmbibliotheken Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
33 Evaluation Live Demo Evaluation "Babsi", 2013 Applikation zur Aufnahme von Patientendaten API Level 19 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
34 Ausblick Ausblick Erweiterung für dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
35 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
36 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Performance von Datenbankoperationen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
37 Ausblick Ausblick Erweiterung für dynamische Pointcuts Optimierung für APK-Instrumentierung Performance von Datenbankoperationen Anpassung an zukünftige Android Versionen Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
38 Zusammenfassung Fazit Android Instrumentierung Sourcecode: PCW mit AspectJ APK: Dekompilieren ExplorViz Keine Netzwerkkommunikation im Main-Thread Anpassen des Build-Skriptes Anpassen des System-Monitorings Dynamische Pointcuts Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
39 Referenzen F. Fittkau, Live Trace Visualization for System and Program Comprehension in Large Software Landscapes (Doktorarbeit/PhD), Faculty of Engineering, Kiel University, Kiel,(2015). gradle_plugin_android_aspectjx, Kiczales, Gregor, et al. Aspect-oriented programming. European conference on object-oriented programming. Springer Berlin Heidelberg, Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz28. September / 19
Kollaboratives Erkunden von Software mithilfe virtueller Realität 28. September in ExplorViz / 33
Kollaboratives Erkunden von Software mithilfe virtueller Realität in ExplorViz 28. September 2017 Kollaboratives Erkunden von Software mithilfe virtueller Realität 28. September in ExplorViz 2017 1 / 33
MehrVulnerability Recognition by Execution Trace Differentiation
Vulnerability Recognition by Execution Trace Differentiation Fabien Patrick Viertel, Oliver Karras and Kurt Schneider Software Engineering Group, Leibniz Universität Hannover, Germany Symposium on Software
MehrQuellcode-unterstützte Musterdefinition für Systemabhängigkeitsgraphen
Quellcode-unterstützte Musterdefinition für Systemabhängigkeitsgraphen Master-Abschlussvortrag 12. Dezember 2016 12. Dezember 2016 1 / 26 Kontext/Motivation Ansatz von Wulf Kontext/Motivation S2 Legend:
Mehr1 Motivation und Einleitung
AspectJ - AOP für Java Georg Blaschke (georg.blaschke@stud.informatik.uni-erlangen.de) Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Betriebssysteme und Verteilte Systeme 3. Mai 2003
MehrInstrumentierung von Android Anwendungen in ExplorViz
Instrumentierung von Android Anwendungen in ExplorViz Bachelorarbeit Jan Witzany 30. September 2016 Christian-Albrechts-Universität zu Kiel Institut für Informatik Arbeitsgruppe Software Engineering Betreut
Mehrspectj AOP mit Java, Konzepte und Beispiele
A spectj AOP mit Java, Konzepte und Beispiele AspectJ Ist eine Erweiterung von Java Ist eine aspektorientierte Sprache (wie Java eine objektorientierte Sprache ist) Ist frei verfügbar der Compiler ist
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrBuild Management Tool
Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar
MehrBytecode-Manipulation leicht gemacht. Christian Kumpe, JavaLand 14. März 2018
Bytecode-Manipulation leicht gemacht Christian Kumpe, JavaLand 14. März 2018 Agenda Referent Einführung Motivation Werkzeuge Javassist & ClassFileTransformer Fazit Copyright 2018 diva-e Digital Value Excellence
MehrBytecode-Manipulation leicht gemacht. Christian Kumpe, Entwicklertag Karlsruhe 20. Juni 2018
Bytecode-Manipulation leicht gemacht Christian Kumpe, Entwicklertag Karlsruhe 20. Juni 2018 Agenda Referent Einführung Motivation Werkzeuge Javassist & ClassFileTransformer Fazit Copyright 2018 diva-e
MehrFehlertoleranz durch aspektorientierte Programmierung
Fehlertoleranz durch aspektorientierte Programmierung Max Günther Technische Universität Dortmund 5. März 2013 1 / 34 Motivation Fehlertoleranz ist wichtig aber mühselig in Software einzubauen Abhilfe
MehrAndroid Testautomatisierung mit dem Framework Robotium
Android Testautomatisierung mit dem Framework Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat
MehrProfiling in Python. Seminar: Effiziente Programmierung. Jan Pohlmann. November Jan Pohlmann Profiling in Python November / 32
Profiling in Python Seminar: Effiziente Programmierung Jan Pohlmann November 2017 Jan Pohlmann Profiling in Python November 2017 1 / 32 Gliederung 1 Grundlagen Profiling Was ist das Ziele und Herausforderungen
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrMobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG
Mobile App development mit Xamarin Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG % der Bevölkerung mit Smartphone Smartphone Durchdringung >50% 34% 43% 54% DACH
MehrOOP. Tagesprogramm. Aspektorientierte Programmierung. Annotationen
1 2014-12-03 Tagesprogramm Aspektorientierte Programmierung Annotationen 2 Aspektorientierte Programmierung Programmierparadigma AspectJ separation of concerns Modularisierung Aspekte kapseln Verhalten
MehrMobile Development in.net mit Xamarin
1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3
MehrAndroid-Testautomatisierung mit Robotium
Android-Testautomatisierung mit Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat einen technischen
MehrAspektorientierte Programmierung
Aspektorientierte Programmierung Programmierparadigma AspectJ separation of concerns Modularisierung Aspekte kapseln Verhalten das mehrere Klassen betrifft Objektorientierte Programmiertechniken: Aspektorientiertheit,
MehrSW-Archäologie mit AspectJ
SW-Archäologie mit AspectJ Ausgrabungen vergangener SW-Architekturen Java Forum Stuttgart 2015 oliver.boehm@aosd.de 1 Agenda. 1.0 2.0 3.0 4.0 5.0 Die klassische Herangehensweise Ein kleiner Ausflug mit
MehrModellierung CORBA-basierter Anwendungssysteme mit der UML
Verteidigung der Diplomarbeit über das Thema: Modellierung CORBA-basierter Anwendungssysteme mit der UML Andreas Mucha Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl
MehrCLICK TO EDIT MASTER TITLE STYLE
CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann
MehrAndroid GUI Entwicklung
Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation
MehrSmartphone Entwicklung mit Android und Java
Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter
MehrLehrstuhl 1 / Fakultät für Informatik. Haskell. Karsten Lettow
Lehrstuhl 1 / Haskell Jobausschreibung 2 Definition der Fibonacci Folge n Ν f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) 3 Fibonacci Folge in Java implementiert public class fbonacci { public static void main(string[]
MehrBehutsame Modernisierung
Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka
MehrAgile Testautomatisierung im XING Mobile Team
Agile Testautomatisierung im XING Mobile Team Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Team Lead Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat einen
MehrHauptseminar AOSD. Design-by-Contract
Hauptseminar AOSD Seite 1 Entstehung Was ist das? Java Annotations und AOP ConceptJ Zusammenfassung Seite 2 Entstehung Entwickelt von Bertrand Meyer Heute Prof. an der ETH Zürich Erstmals in Programmiersprache
MehrAgile Testautomatisierung im XING Mobile Team
Agile Testautomatisierung im XING Mobile Team Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat einen technischen
MehrEinführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung
Einführung in AOP Informatikseminar Rico Schiekel - 012816 rschiekel@web.de Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung
MehrAspektorientierte Programmierung mit.net
Aspektorientierte Programmierung mit.net David Hahn & Viktor Steinwand 1 1. 2. 3. 4. 5. Vorgehen beim AOP 6. 7. durch AOP 8. 9. 10. 2 1. AOP ist ein mächtiges Werkzeug für den Entwickler-Werkzeugkoffer
MehrAOP Day 07. eine Veranstaltung der SIG AspectJ. organisiert vom AOP-Komitee. und der guten Fee. powered by. Oliver Böhm Darko Palic Ludger Solbach
AOP Day 07 eine Veranstaltung der SIG AspectJ organisiert vom AOP-Komitee Oliver Böhm Darko Palic Ludger Solbach und der guten Fee Bori Gerhardt powered by Historisches (1) Dez. 2005: AspectJ Winter Camp
MehrMit Cloud Power werden Sie zum
Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50
Mehr3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP
3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg ARIS meets RUP Der ARIS Unified Information System Development Process Martin Plümicke Berufsakademie
MehrRekonfiguration durch dynamische aspektorientierte Programmierung
Rekonfiguration durch dynamische aspektorientierte Programmierung Martin Gumbrecht 13. Juni 2014 Motivation Dynamische Rekonfiguration von Softwaresystemen Fehlerbehebung, Sicherheitsaktualisierungen,
MehrBestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform
Tobias Bouschen Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Software Engineering Bestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform
MehrASPECT-ORIENTED DESIGN PATTERNS
ASPECT-ORIENTED DESIGN PATTERNS 1 Gliederung I. Entwurfsmuster Aufbau und Beschreibung II. Probleme objektorientierter Entwurfsmuster III. Entwicklung eines aspektorientierten Musters 2 Abschnitt I: Entwurfsmuster
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrKlappe auf! Was macht die JVM denn da?
Vortrag am 7.7.2016 auf dem Klappe auf! Was macht die JVM denn da? Tobias@Frech.info / @TobiasFrech Tobias Frech Geschäftsführer der Frech IT GmbH Java-Administration, Betrieb von Java-Anwendungen, Bereitschaft
MehrIntel Thread Checker
Kurs 1: Ferienakademie 2009 26. September 2009 Gliederung Gliederung Was macht der Thread Checker und warum? Historisches Alternativen Was macht der Thread Checker und warum? Historisches Alternativen
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrAspektorientierte Middleware Florian Wagner
Anwendungen der Aspektorientierung (5) Übersicht Middleware? Middleware-Concerns Java 2 Enterprise Edition AO Implementierung AOP & JBoss 2 mid dle ware (mĭd'l-wâr') n. Software that serves as an intermediary
MehrAOP by Examples. JavaLand, 25. März 2015, Oliver Böhm. Photo from
AOP by Examples JavaLand, 25. März 2015, Oliver Böhm Photo from http://www.ukaop.org.uk/ 1 Wie alles begann U.S. Army Photo 1960 1980 2000 Assembler 1960 1980 2000 FORTRAN COBOL C Assembler 1960 1980 2000
MehrEIN NEUER SMARTPHONE-BASIERTER ANSATZ ZUM LEHREN VON JAVA MIT EINEM LERNSPIEL. 14. Oktober 2016, Tobias Jordine
EIN NEUER SMARTPHONE-BASIERTER ANSATZ ZUM LEHREN VON JAVA MIT EINEM LERNSPIEL 14. Oktober 2016, Tobias Jordine AGENDA Einführung Existierende Ansätze Initiale Umfrage Ein neuer Ansatz Ergebnisse 2 EINFÜHRUNG
MehrInformatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich
Informatik II (D-ITET) Informatik II (D-ITET) simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Übungsstunde 1 Informatik II (D-ITET) 1 Ablauf Überblick + Administratives Besprechung der Vorlesung
MehrJavaFX auf Mobile. von Stefan Barth und Stefan Heinze
von Stefan Barth und Stefan Heinze JavaFX Was ist JavaFX? Desktopanwendungen für Java (Ablösung von Swing) Properties / Bindings Animationen Effekte MultiTouch Media, CSS FXML, CSS Webbrowser... Einsatzmöglichkeiten
MehrOlaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe
Olaf Seng Thomas Genßler Benedikt Schulz Einführung Grundlagen Vorgehensweise Beispiel Zusammenfassung Übersicht 2 Einführung Szenario & Probleme Hinzufügen einer neuen Funktion zu einer Komponente Erfordert
MehrSchneller mit AspectJ
November 2007 Performance Day @ JUGS Schneller mit AspectJ Oliver.Boehm@agentes.de Wir über uns Gründung 01.04.2004 Vorstand Olaf Ahl & Wolfgang Clauss Standorte Stuttgart (Firmensitz), Kassel, München
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
Mehrung AOP und AspectJ 2005 agentes AG
t ung 1 in AOP und AspectJ Inhalt von Assember bis AspectJ Das Architektur-Dilemma Freie Sicht auf die Businesslogik Do you speak Aschbegt-Dschei? Zusammenfassung 2 von Assembler bis AspectJ 3 AspectC++
MehrAutomatisierung von SAM-FS Abläufen mit Python Python Binding für die SAM-FS API
Automatisierung von SAM-FS Abläufen mit Python Python Binding für die SAM-FS API Carsten Grzemba IT-Consultant Datentechnik GmbH Auf dem Steine 1 98693 Ilmenau http://www.-dt.de Wer sind wir? Systemhaus:
MehrSoftwareprojekte mit Kultur
Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte
MehrModulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team
Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer
MehrTeil 3 - Java. Grundlagen Klassen, Attribute Methoden
Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig
MehrQuellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke
Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte
MehrAbacus Formula Compiler (AFC)
Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/
MehrApp-Entwicklung mit Titanium
Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones
MehrMaven 2 Softwareprojekte mit Kultur
Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark
MehrConfigurable Embedded Systems
Configurable Embedded Systems Prof. Dr. Sven-Hendrik Voß Wintersemester 2017 Technische Informatik (Master), Semester 2 Termin 3, 23.10.2017 Seite 2 Zynq Design Flow Configurable Embedded Systems Wintersemester
MehrObjektorientiertes Programmieren
JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist
MehrEinführung in Google Web Toolkit
Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus
MehrInformatik II (D-ITET)
Informatik II (D-ITET) Übungsstunde 1 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Ueberblick + Administratives Besprechung der Vorlesung Einfuehrungsthemen: Eclipse, JUnit, Serienabgabe
MehrDynamisches Aspektweben in C und C++: DAO C++ und µdyner
Aspektorientierte Programmierung Dynamisches Aspektweben in C und C++: DAO C++ und µdyner Referent: André Zweschke Referent: André Zweschke 1 Inhalt 1. Motivation: Web-Caches 2. Dynamic Aspect Oriented
MehrMixed Language Programming POLINA RAJKO - MIXED LANGUAGE PROGRAMMING 1/35
Mixed Language Programming PROSEMINAR EFFIZIENTE PROGRAMMIERUNG SOSE 2018 POLINA RAJKO POLINA RAJKO - MIXED LANGUAGE PROGRAMMING 1/35 Einführung Java public class Main { public static int quadrat(int i)
MehrPRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten
Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided
MehrJava Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
MehrModellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks
Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks AKWI 2015 Luzern Marco Richter (marco.richter@mnd.thm.de) Melanie Vanderpuye (melanie.vanderpuye@zdh.thm.de)
MehrCiAO (CiAO is Aspect-Oriented)
CiAO (CiAO is Aspect-Oriented) Eine aspektorientiert entworfene Betriebssystemfamilie Daniel Lohmann Olaf Spinczyk Wolfgang Schröder-Preikschat Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme
MehrBessere Software durch AOP? Achim Demelt OOP 2008
Bessere Software durch AOP? Achim Demelt OOP 2008 Agenda Motivation Konzepte der Aspektorientierung Aspektorientierung in der Praxis Bessere Software? Die Zukunft von AOP 2 Motivation Software wird immer
MehrSoftwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme
Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme Christian Kästner (Universität Marburg) Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg) 1 Application Eng. Domain
MehrMemory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
MehrNetBSD Projekt Jahresbericht 2001
NetBSD Projekt Jahresbericht 2001 - Hubert Feyrer - Intro Open Source wurde 2001 durch Linux weiter bekannt Open Source ist nicht nur Linux! NetBSD: Open Source Operating System Projekt
MehrEndlich! Mission Control und Flight Recorder für Hotspot
Endlich! Mission Control und Flight Recorder für Hotspot Es war einmal Es war einmal Es war einmal Mark Reinhold, 2010 HotRockit Marcus Hirt, Java One 2011 Mission Control Marcus Hirt, Java One 2013 Mission
MehrAnalyse der Verwendung des Eventlistener-Konzepts einer objektrelationalen Persistenzschicht
Analyse der Verwendung des Eventlistener-Konzepts einer objektrelationalen Persistenzschicht Julian Lebherz Betreuer: Thomas Büchner Christian Neubert Agenda Zielvorstellung Vergleich von Eventlistener-Systemen
MehrAnwendungsentwicklung mit Spring
Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
MehrUsability-Test für mobile Java-Anwendungen
Usability-Test für mobile Java-Anwendungen Problemstellung / Abgrenzung Usability Engineering / Patterns Usability Test Tool-Kette Fazit Roland Petrasch Usability-Test für mobile Java-Anwendungen Problemstellung
Mehr<Insert Picture Here> Performance Tests in der Praxis am Beispiel von Oracle BPM/BPEL
Performance Tests in der Praxis am Beispiel von Oracle BPM/BPEL Alexander Fox Senior Berater Agenda Dauer ca. 45 Minuten Begriffsbestimmung Software-Tests
MehrSommersemester Implementierung I: Struktur
Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.
MehrMit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln
Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Ziel dieses Vortrags Ich möchte Sie davon überzeugen, dass das Google-Web-Toolkit (GWT) das aktuell beste Tool zur Erstellung von modernen
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrApp-Entwicklung für das iphone. Von der Idee bis in den App Store
App-Entwicklung für das iphone Von der Idee bis in den App Store Ziel dieses Vortrags Wir wollen die Ausgangssituation im März 2010 aufzeigen die Einbindung der App in den Gesamtkontext ebanking demonstrieren
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrTesten von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht
Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools - ein Erfahrungsbericht Martin Mühlemann CSA Engineering AG, CH-4500 Solothurn Ausgangslage Embedded-Firmware testen für ein
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrSW-Archäologie mit AOP (Praxisbericht)
SW-Archäologie mit AOP (Praxisbericht) Ausgrabungen vergangener SW-Architekturen 9. Workshop SW-Reengineering Bad Honnef Mail 2007 Oliver.Boehm@agentes.de agentes AG 2006 Aktionäre Pironet NDH AG (Hauptaktionär)
MehrModularisierung und Inversion of Control mit Spring done right
Modularisierung und Inversion of Control mit Spring done right Fabian Knittel, David Burkhart andrena objects ag Entwicklertag Karlsruhe, 21. Mai 2014 1 Modularisierung https://www.flickr.com/photos/juhansonin/4734829999/
MehrDas a-kernel Projekt
Das a-kernel Projekt Übersicht 1. Vorstellung a-kernel Projekt 1. Ziele 2. AspectC 2. Beispiel 1: Prefetching in FreeBSD v3.3 1. Zugriffsart normal 2. Zugriffsart sequential 3. Beispiel 2: NFS 1. Erweiterung
MehrEffiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware
Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware Normann Decker 1 Philip Gottschling 2 1 Institut für Softwaretechnik und Programmiersprachen Universität zu Lübeck decker@isp.uni-luebeck.de
MehrLanguages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008
Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.
MehrGraphHopper-Routing mit Maut-Erweiterung
Vorstellung der Thesis: GraphHopper-Routing mit Maut-Erweiterung Herr Robert Klemm M.Sc. Geodatenerfassung und visualisierung Robert.Klemm1988@googlemail.com Passau, 23.03.2017 Gliederung 1. Einleitung
Mehr9. Ausnahmebehandlung
Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie
MehrJava Reflection. Andreas Lochbihler. 15. Mai Lehrstuhl Programmierparadigmen Universität Karlsruhe
Java Reflection Andreas Lochbihler Lehrstuhl Programmierparadigmen Universität Karlsruhe 15. Mai 2008 Was ist Reflection? Ein Paket (package) von Interfaces und Klassen, die dem Programm zur Laufzeit Zugriff
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrKurzanleitung Eclipse
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon
MehrC++ Templates - eine kleine Einführung. Funktionstemplates. Fabian Scheler, Peter Ulbrich, Niko Böhm. 20. Oktober 2008
Überblick 1 Allgemein C++ Templates - eine kleine Einführung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrTechnologische Analysen im Umfeld Sozialer Netzwerke
Fakultät Informatik & IBM Lehrstuhl Rechnernetze & Centers for Solution Innovation :: Hamburg Technologische Analysen im Umfeld Sozialer Netzwerke Verteidigung der Diplomarbeit Dresden, 10.11.2008 peter@schnitzlers.de
MehrFuzzing. Robert Buchholz, Kai Dietrich, Björn Lohrmann. 26. Januar Rechnersicherheit Praktikum WS Fuzzing
Fuzzing Robert Buchholz, Kai Dietrich, Björn Lohrmann Rechnersicherheit Praktikum WS 2007 26. Januar 2008 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
MehrEvaluation der Leistungsfähigkeit ausgewählter Mutationstestwerkzeuge
SKILL 2015 Lea Kristin Gerling Inhalt Gliederung 1. Einleitung 2. Grundlagen 3. Vorstellung der Mutationstestwerkzeuge 5. Fazit 30.09.15 01.10.2015 Lea Kristin Gerling 2 2 2 Inhalt Gliederung 1. Einleitung
Mehr