Upload
sailqu
View
31
Download
1
Embed Size (px)
Citation preview
Matthew B. Kelly Jason S. Alexander Bram Adams Ahmed E. Hassan
Recovering a Balanced Overview of Topics in a Software Domain
Domain Analysis
2
Domain Analysis
3
address bar
Domain Analysis
4
address bartabbedbrowsing
Domain Analysis
5
address bartabbedbrowsing
HTML rendering engine
Domain Analysis
6
address bartabbedbrowsing
HTML rendering engine
JavaScript engine
Domain Analysis
7
address bartabbedbrowsing
HTML rendering engine
JavaScript engine
browser extensions
Domain Analysis
8
address bartabbedbrowsing
HTML rendering engine
JavaScript engineGUI components
browser extensions
Domain Analysis
9
address bartabbedbrowsing
HTML rendering engine
JavaScript engineGUI components
browser extensions
bookmarks
history
supporting libraries
CSS
XMLA manual, expensive process for large domains!
Topic Modeling
10
html css xml javascript png jpeg gif sqlite bmp
gtk event image html button frame window
Topic Modeling
11
Latent Dirichlet Allocation
html css xml javascript png jpeg gif sqlite bmp
gtk event image html button frame window
Topic Modeling
12
KeywordsTopic
html css xml javascript
A
png jpeg gif bmp image
B
sqliteCLatent Dirichlet
Allocation
gtk event button frame window
D
html css xml javascript png jpeg gif sqlite bmp
gtk event image html button frame window
Topic Modeling
13
KeywordsTopic
html css xml javascript
A
png jpeg gif bmp image
B
sqliteC
html css xml javascript png jpeg gif sqlite bmp
gtk event image html button frame window
Latent Dirichlet Allocation
gtk event button frame window
D
A: 0.4B: 0.4C: 0.2D: 0.0
A: 0.2B: 0.2C: 0.0D: 0.6
Topic Modeling
14
KeywordsTopic
html css xml javascript
A
png jpeg gif bmp image
B
sqliteC
html css xml javascript png jpeg gif sqlite bmp
gtk event image html button frame window
Latent Dirichlet Allocation
gtk event button frame window
D
A: 0.4B: 0.4C: 0.2D: 0.0
A: 0.2B: 0.2C: 0.0D: 0.6
Human analysis
Unbalanced Domain Analysis
15
…
Unbalanced Domain Analysis
16
Corpus
…
Unbalanced Domain Analysis
17
LDACorpus
…
Topics
Unbalanced Domain Analysis
18
No consideration of project sizes.But, useful for prioritizing based on popularity.
LDACorpus
…
Topics
Balanced Domain Analysis
19
LDA
LDA
LDA
…
…
Balanced Domain Analysis
20
LDA
LDA
LDA
…
…
Topics
Topics
Topics
Balanced Domain Analysis
21
LDA
LDA
LDA
…
…
Topics
Topics
Topics
Clustering
Balanced Domain Analysis
22
LDA
LDA
LDA
…
…
Topics
Topics
Topics
Clustering
Topics
Balanced Domain Analysis
23
LDA
LDA
LDA
…
…
Topics
Topics
Topics
Clustering
Topics
Commonalities and variability exposedregardless of size!
Case Study: Over 39M Lines of Code
24
Case Study: Over 39M Lines of Code
25
TextBased
GUIBased
Case Study: Over 39M Lines of Code
26
TextBased
GUIBased
WebBrowsers
Case Study: Over 39M Lines of Code
27
TextBased
GUIBased
WebBrowsers
Question:Can Domain Analysis be performed with Topic Models?
28
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
GUIBase
d
Successful Identification of Commonalities & Variability in Subdomain
Successful Identification of Commonalities & Variability in Subdomain
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
29
GTK+ ui framework:gtk, view, window, action
GUIBase
d
Successful Identification of Commonalities & Variability in Subdomain
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
30
GTK+ ui framework:gtk, view, window, action
Qt ui framework:qstring, qwidget, parent, window
GUIBase
d
31
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
TextBased
GUIBased
Web
Browsers
Successful Identification of Commonalities &Variability in Domain
Successful Identification of Commonalities &Variability in Domain
TextBased
GUIBased
Web
Browsers
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
32
layout:view, window, event, widget, terminal, tab
Successful Identification of Commonalities &Variability in Domain
TextBased
GUIBased
Web
Browsers
0102030405060708090
100
Percent of Systems
containedin cluster (spread)
Top 10 Topic Clusters
33
layout:view, window, event, widget, terminal, tab
text-based components:text, items, line, term, htext
34
02468
101214161820
Unbalanced LDA spreads Topics across Software Systems
35
02468
101214161820
Entropy value: 0.43
Unbalanced LDA spreads Topics across Software Systems
36
0
2
4
6
8
10
12Balanced LDA spreads Topics across Software Systems
37
0
2
4
6
8
10
12
Entropy value: 0.98
Balanced LDA spreads Topics across Software Systems
Threats
38
• Comments: more semantic information than code, but often missing
• Only open source systems studied
• Other documentation
• One set of thresholds and cluster size tested
VS.