Top Banner
MINING DESIGN DECISIONS JAN SALVADOR VAN DER VEN, JAN BOSCH UNIVERSITY OF GRONINGEN, CHALMERS @SALVADORVEN, @JANBOSCH
22

Mining Architectural Decisions - ECSA 2013

Jul 05, 2015

Download

Technology

salvadorven

The slides from my presentation at ECSA 2013
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mining Architectural Decisions - ECSA 2013

MINING DESIGN DECISIONS JAN SALVADOR VAN DER VEN, JAN BOSCH

UNIVERSITY OF GRONINGEN, CHALMERS @SALVADORVEN, @JANBOSCH

Page 2: Mining Architectural Decisions - ECSA 2013

ARCHITECTURAL DESIGN DECISIONS

Page 3: Mining Architectural Decisions - ECSA 2013

ADDS OFTEN BASED ON OPINIONS & ANECDOTES

Page 4: Mining Architectural Decisions - ECSA 2013

CAN WE RECYCLE DECISIONS?

Page 5: Mining Architectural Decisions - ECSA 2013

LOOKING FOR STATISTICS

Page 6: Mining Architectural Decisions - ECSA 2013

GITHUB.COM

4.6 Million repositories

Page 7: Mining Architectural Decisions - ECSA 2013

MINING

Page 8: Mining Architectural Decisions - ECSA 2013

FOCUS: ARCHITECTURAL DESIGN DECISIONS THAT INVOLVE COMPONENT SELECTION

Page 9: Mining Architectural Decisions - ECSA 2013

GIT: COMPLETE REPOSITORY

HISTORY

Page 10: Mining Architectural Decisions - ECSA 2013

LOCATING RUBY COMPONENTS: GEMFILE

Page 11: Mining Architectural Decisions - ECSA 2013

CHANGES PER LINE

Page 12: Mining Architectural Decisions - ECSA 2013

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)

Page 13: Mining Architectural Decisions - ECSA 2013

AUTOMATED PROCESSING

REPOREPO

REPO

COMMITCOMMIT

COMMIT

REPO

COMMIT

GITMINER

GITMINER WEB INTERFACE

GITMINER RELATIONSHIP

VISUALIZER

GITHUB.COM

CHANGE + CHANGE +CHANGE - /+

Page 14: Mining Architectural Decisions - ECSA 2013

Commit

Commit Commit

WHAT ARE WE LOOKING FOR?

+ Line - Line

+ LineA

- LineB

Page 15: Mining Architectural Decisions - ECSA 2013

GITMINER WEB INTERFACE: REMOVED COMPONENTS

Page 16: Mining Architectural Decisions - ECSA 2013

RELATIONSHIP VISUALIZER

Commit

+ LineA

- LineB

Page 17: Mining Architectural Decisions - ECSA 2013

RELATIONSHIP VISUALIZER

“use mysql2 instead of mysql because of shit

encoding”

Page 18: Mining Architectural Decisions - ECSA 2013

VALIDATION: DID WE FIND ADDS?

Qualitative: Exploring the data for decisions (anecdotic)

Quantitative: External expert decision identification (statistic)

Page 19: Mining Architectural Decisions - ECSA 2013

QUANTITATIVE RESULTS

Decisions Rationale Alternatives

~60% ~25% ~5%

Page 20: Mining Architectural Decisions - ECSA 2013

FUTURE WORK

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

making!

Page 21: Mining Architectural Decisions - ECSA 2013

CONCLUSIONS

•  Architectural decisions can be recycled

•  Rationale minimal, but decision makers can be contacted

•  Architects can use this data for decision-making

Page 22: Mining Architectural Decisions - ECSA 2013

QUESTIONS?

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