mining architectural decisions - ecsa 2013

Post on 05-Jul-2015

146 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

The slides from my presentation at ECSA 2013

TRANSCRIPT

MINING DESIGN DECISIONS JAN SALVADOR VAN DER VEN, JAN BOSCH

UNIVERSITY OF GRONINGEN, CHALMERS @SALVADORVEN, @JANBOSCH

ARCHITECTURAL DESIGN DECISIONS

ADDS OFTEN BASED ON OPINIONS & ANECDOTES

CAN WE RECYCLE DECISIONS?

LOOKING FOR STATISTICS

GITHUB.COM

4.6 Million repositories

MINING

FOCUS: ARCHITECTURAL DESIGN DECISIONS THAT INVOLVE COMPONENT SELECTION

GIT: COMPLETE REPOSITORY

HISTORY

LOCATING RUBY COMPONENTS: GEMFILE

CHANGES PER LINE

USED DATA

# Projects 710

Total Commits 12600

Total Changed Lines 40464

Used (>1 watcher, >1 fork) Active (change in last month) Moderate size (between 0,3 and 10Mb)

AUTOMATED PROCESSING

REPOREPO

REPO

COMMITCOMMIT

COMMIT

REPO

COMMIT

GITMINER

GITMINER WEB INTERFACE

GITMINER RELATIONSHIP

VISUALIZER

GITHUB.COM

CHANGE + CHANGE +CHANGE - /+

Commit

Commit Commit

WHAT ARE WE LOOKING FOR?

+ Line - Line

+ LineA

- LineB

GITMINER WEB INTERFACE: REMOVED COMPONENTS

RELATIONSHIP VISUALIZER

Commit

+ LineA

- LineB

RELATIONSHIP VISUALIZER

“use mysql2 instead of mysql because of shit

encoding”

VALIDATION: DID WE FIND ADDS?

Qualitative: Exploring the data for decisions (anecdotic)

Quantitative: External expert decision identification (statistic)

QUANTITATIVE RESULTS

Decisions Rationale Alternatives

~60% ~25% ~5%

FUTURE WORK

•  Put it live for architects •  Extend # projects •  Use the data for decision

making!

CONCLUSIONS

•  Architectural decisions can be recycled

•  Rationale minimal, but decision makers can be contacted

•  Architects can use this data for decision-making

QUESTIONS?

https://github.com/jansalvador/gitminer/ Mail: mail@jansalvador or Twitter: @salvadorven

top related