31
Software Architecture Discovery Wie können bestehende verteilte Systeme (IoT / Cloud) analysiert werden? Edgar Toll 9. Mai 2017

Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

Software Architecture DiscoveryWie können bestehende verteilte Systeme (IoT / Cloud)

analysiert werden?

Edgar Toll

9. Mai 2017

Page 2: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Motivation

2 / 25

Page 3: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Motivation

2 / 25

Page 4: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Motivation

WPS - Workplace Solutions GmbH

3 / 25

Page 5: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Motivation

I Eigentlich läuft doch schon ’ne ganze Menge

„There’s a way to do it better – find it.“— Thomas A. Edison

4 / 25

Page 6: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Übersicht

Architektur Analyse

AnsätzestatischdynamischhybridGraphdatenbanken

Konferenzen

Fazit

5 / 25

Page 7: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Was ist die Basis?Arbeiten mit dem realen System

6 / 25

Page 8: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Wie verläuft eine Architektur Analysegenerell?

I Was will ich wissen?I Wie stelle ich die Ergebnisse dar?I Wie kriege ich das raus?

?Human.class

Pet.class

0

10

20

30

40

50

42

7 / 25

Page 9: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Wie verläuft eine Architektur Analysegenerell?

I Was will ich wissen?I Wie stelle ich die Ergebnisse dar?I Wie kriege ich das raus?

?Human.class

Pet.class

0

10

20

30

40

50

42

7 / 25

Page 10: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Was will ich wissen?Architektur Bewertungskriterien

Austauschbarkeit

Konformität

Installierbarkeit

Anpassbarkeit

Prüfbarkeit

Stabilität

Modifizierbarkeit

Analysierbarkeit

Verbrauchsverhalten

Zeitverhalten

Bedienbarkeit

Erlernbarkeit

Verständlichkeit

Wiederherstellbarkeit

Fehlertoleranz

Reife

Sicherheit

Ordnungsmäßigkeit

Interoperabilität

Richtigkeit

Angemessenheit

Übertragbarkeit

Änderbarkeit(Wartbarkeit)

Effizienz

Benutzbarkeit

Zuverlässigkeit

Funktionalität

Qualität

SE1 Vorlesung, Dai [ISO91]

8 / 25

Page 11: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Wie stelle ich die Ergebnisse dar?Darstellen von Metriken

I PsychologieI Data ScienceI . . .

I ModularitätI MustertreueI Geordnetheit

Komplexität von Softwarearchitekturen, Stile und Strategien, CarolaLilienthal [Lil08]

9 / 25

Page 12: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Wie kriege ich das raus?Messungen/ Tooling

I Statische Quellcode AnalyseI Dynamische AnalyseI Hybride AnalyseI Graphdatenbanken

10 / 25

Page 13: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Statische AnalyseTooling

CodeCity

Structure101

Sonargraph

Lattix1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

$root

org.apache.to

ols

ant.ta

skdefs

ant

UTIL

launcher

cvslib

optional

rmic

compilers

*

condition

email

loader

attribute

listener

dispatch

helper

input

filters

property

types

util

*

org.apache.tools.tar20

org.apache.tools.mail21

org.apache.tools.zip22

org.apache.tools.bzip223

launch

er

1

cvslib2

optio

nal

3

rmic

4

compile

rs5

*6

conditio

n7

email

8

loader

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

1%

1

2

4

10

1%

5

1

9

8

20%

90

7

1

2

150

64

227

1%

10

9

5

11

2%

18

2

18

9

19

2

1

2

4

18%

20

1

1

7

8

5

389

146

369

4

14

4

5

4%

16

11

54

2

0.9%

6

3

10

1

0.3%

1

3

0.8%

10

3

0.9%

6

17

1

0.4%

4

0.8%

3

5

35

1

1

0.9%

3

5

1

3%

2

26

16

15

1%

8

2

3

1

19

21%

79

180

4

5

2

1

2

1

37

11%

57

7

5

1

1

3

2

4

8

23

35

7%

1

0.9%

7

0.5%

4%

0.6%

und weitere. . .

HintergrundI Metasprachen

Quellen:hello2morrow.com/products/sonargraph,structure101.com,lattix.com

11 / 25

Page 14: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Statische AnalyseCode City

I Farbe: LoCI Höhe: MethodenI Fläche: Attribute

CodeCity [WL08], Richard Wettel, 2008

12 / 25

Page 15: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Statische AnalyseSonargraph

Sonargraph, hello2morrow

13 / 25

Page 16: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Statische AnalyseSonargraph

p u b l i c c lass Human {p u b l i c Pet [ ] Pets ;

}

p u b l i c c lass Pet {p u b l i c Human getOwner ( ) ;

}

I Bogen links: Abhängigkeit runterI Bogen rechts: Abhängigkeit hoch (Zyklus!)

Sonargraph, hello2morrow14 / 25

Page 17: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Dynamische AnalyseNachrichtenanalyse

Idee: Decentralized Software Architecture Discovery in Distributed Systems,Technical Report, George Mason University [PMG16]Bilder: gotrace, Ivan Danyliuk

15 / 25

Page 18: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Dynamische AnalyseNachrichtenanalyse

Idee: Decentralized Software Architecture Discovery in Distributed Systems,Technical Report, George Mason University [PMG16]Bilder: gotrace, Ivan Danyliuk

16 / 25

Page 19: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Dynamische AnalyseNachrichtenanalyse

Idee: Decentralized Software Architecture Discovery in Distributed Systems,Technical Report, George Mason University [PMG16]Bilder: gotrace, Ivan Danyliuk

17 / 25

Page 20: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Dynamische AnalyseNachrichtenanalyse

Idee: Decentralized Software Architecture Discovery in Distributed Systems,Technical Report, George Mason University [PMG16]Bilder: gotrace, Ivan Danyliuk

18 / 25

Page 21: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Hybride Analyse (statisch &dynamisch)Kieker

I KomponentenI Operationen (Methodenaufrufe)I Container (Server)I Call TreesI Sequenz Diagramme

Kieker Framework [vHWH12], Uni Kiel, Uni Stuttgart

19 / 25

Page 22: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Analyse mit GraphdatenbankenFrappéentwickelt für Linux Kernel Analyse

foo.hi n t bar ( i n t ) ;

foo.c# inc lude " foo . h "i n t bar ( i n t i npu t ) {r e t u r n i npu t ;

}

main.c# inc lude " foo . h "i n t main ( i n t argc ,

char ∗∗argv ) {r e t u r n bar ( argc ) ;

}

Frappé [HBC15], Oracle

20 / 25

Page 23: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Analyse mit GraphdatenbankenJoerg Analysis Platform

I Gedacht für Bug Suche in C/C++I Buffer OverflowsI Memory Mapping BugsI . . .

I Speichern und Suchen in Graphdatenbankenjoerg [YGAR14], Uni Göttingen

21 / 25

Page 24: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Konferenzen

generell Software Engineering &Programmiersprachen Konferenzen

I SATURN, Denver, 1-4 Mai 2017I SANER, Klagenfurt / Österreich, 20-24 Februar

2017I QCon, unter anderem:

I New York, 26-30 Juni 2017I London, 5-9 Mai 2018

I JAX, Mainz, 8-12 Mai 2017I „Qualität von Softwarearchitekturen“ von Carola

Lilienthal 22. Mai 14:15 in BT7 10.01

22 / 25

Page 25: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Fazit

I Selten Architektur Pattern, häufig in Verbindungmit Programmiersprachen

I Viel Java/ C#, wenig C/ C++I Nur Graphdatenbanken Programmiersprachen

übergreifendI Niesche zwischen großen Themen

GrundprojektI Software in Graphdatenbanken

Betreuer: Prof. Thomas Lehmann

23 / 25

Page 26: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Fragen?

24 / 25

Page 27: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

Software Architecture Discovery

Vielen Dankfür die

Aufmerksamkeit!

Edgar Toll

Page 28: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Paper I

Nathan Hawes, Ben Barham, and CristinaCifuentes.FrappÉ: Querying the linux kernel dependencygraph.In Proceedings of the GRADES’15, GRADES’15,pages 4:1–4:6, New York, NY, USA, 2015. ACM.

ISO.Software enginnering – product quality.ISO 9126:1991, International Organization forStandardization, 1991.

26 / 25

Page 29: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Paper II

Carola Lilienthal.Komplexität von Softwarearchitekturen, Stile undStrategien.PhD thesis, Universität Hamburg,Von-Melle-Park 3, 20146 Hamburg, 2008.

Jason Porter, Daniel A. Menasce, and HassanGomaa.Decentralized software architecture discovery indistributed systems.Technical Report GMU-CS-TR-2016-02,Department of Computer Science, GeorgeMason University, 4400 University Drive MS4A5, Fairfax, VA 22030-4444 USA, 2016.

27 / 25

Page 30: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Paper III

André van Hoorn, Jan Waller, and WilhelmHasselbring.Kieker: A framework for application performancemonitoring and dynamic software analysis.In Proceedings of the 3rd ACM/SPECInternational Conference on PerformanceEngineering, ICPE ’12, pages 247–248, NewYork, NY, USA, 2012. ACM.

Richard Wettel and Michele Lanza.Codecity: 3d visualization of large-scalesoftware.In Companion of the 30th InternationalConference on Software Engineering, ICSE

28 / 25

Page 31: Software Architecture Discoveryubicomp/... · Komplexität von Softwarearchitekturen, Stile und Strategien. PhD thesis, Universität Hamburg, Von-Melle-Park 3, 20146 Hamburg, 2008

SoftwareArchitectureDiscovery

Edgar Toll

Motivation

Übersicht

ArchitekturAnalyse

Ansätzestatisch

dynamisch

hybrid

Graphdatenbanken

Konferenzen

Fazit

Fragen?

Paper IV

Companion ’08, pages 921–922, New York, NY,USA, 2008. ACM.

Fabian Yamaguchi, Nico Golde, Daniel Arp, andKonrad Rieck.Modeling and discovering vulnerabilities withcode property graphs.In Proc. of IEEE Symposium on Security andPrivacy (S&P), 2014.

29 / 25