Mining Architectural Decisions - ECSA 2013
-
Upload
salvadorven -
Category
Technology
-
view
147 -
download
0
description
Transcript of Mining Architectural Decisions - ECSA 2013
![Page 1: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/1.jpg)
MINING DESIGN DECISIONS JAN SALVADOR VAN DER VEN, JAN BOSCH
UNIVERSITY OF GRONINGEN, CHALMERS @SALVADORVEN, @JANBOSCH
![Page 2: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/2.jpg)
ARCHITECTURAL DESIGN DECISIONS
![Page 3: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/3.jpg)
ADDS OFTEN BASED ON OPINIONS & ANECDOTES
![Page 4: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/4.jpg)
CAN WE RECYCLE DECISIONS?
![Page 5: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/5.jpg)
LOOKING FOR STATISTICS
![Page 6: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/6.jpg)
GITHUB.COM
4.6 Million repositories
![Page 7: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/7.jpg)
MINING
![Page 8: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/8.jpg)
FOCUS: ARCHITECTURAL DESIGN DECISIONS THAT INVOLVE COMPONENT SELECTION
![Page 9: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/9.jpg)
GIT: COMPLETE REPOSITORY
HISTORY
![Page 10: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/10.jpg)
LOCATING RUBY COMPONENTS: GEMFILE
![Page 11: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/11.jpg)
CHANGES PER LINE
![Page 12: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/14.jpg)
Commit
Commit Commit
WHAT ARE WE LOOKING FOR?
+ Line - Line
+ LineA
- LineB
![Page 15: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/15.jpg)
GITMINER WEB INTERFACE: REMOVED COMPONENTS
![Page 16: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/16.jpg)
RELATIONSHIP VISUALIZER
Commit
+ LineA
- LineB
![Page 17: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/17.jpg)
RELATIONSHIP VISUALIZER
“use mysql2 instead of mysql because of shit
encoding”
![Page 18: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/19.jpg)
QUANTITATIVE RESULTS
Decisions Rationale Alternatives
~60% ~25% ~5%
![Page 20: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/20.jpg)
FUTURE WORK
• Put it live for architects • Extend # projects • Use the data for decision
making!
![Page 21: Mining Architectural Decisions - ECSA 2013](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022052909/55995b011a28abdc0a8b46e6/html5/thumbnails/22.jpg)
QUESTIONS?
https://github.com/jansalvador/gitminer/ Mail: mail@jansalvador or Twitter: @salvadorven