SlideShare a Scribd company logo
1 of 11
Extracting Dependencies from 
Software Changes 
An Industry Experience Report 
Thomas Wetzlmaier 
+43 7236 3343 879 
thomas.wetzlmaier@scch.at 
www.scch.at 
Claus Klammer 
+43 7236 3343 856 
claus.klammer@scch.at 
www.scch.at 
Rudolf Ramler 
+43 7236 3343 872 
rudolf.ramler@scch.at 
www.scch.at 
SCCH is an initiative of SCCH is located in
Key Facts of our Research 
Organization 
 Application-oriented research organization 
 Initiated by institutes of the Johannes 
Kepler University (JKU) Linz 
 ~ 65 employees 
5 Research Foci 
 SAE: Software Analytics and Evolution 
 Software Architecture 
 Domain-specific languages 
 Document extraction from code 
 Automated Software Testing 
© Software Competence Center Hagenberg GmbH 2
Industry Case: ERP System 
 Project background 
 ERP System for the building and construction industry 
 Supersedes an IBM System i (AS/400) implemented software 
 Client-server application with a modular rich client 
 Technology: Java, JBoss, Hibernate 
 Tool support: Subversion, Bugzilla, Mylyn 
 Repository contains not only source code, but also other 
document types (reports, data models, images, libs) 
 We analyzed ~6 years of development and maintenance 
 We identified 4 categories with total of 31 features 
 Client: 14 features 
 Server: 4 features 
 Platform: 6 features 
 Development: 7 features 
© Software Competence Center Hagenberg GmbH 3
Results of the Repository Analysis 
Repository measures: 
Distribution of transaction sizes: 
x-axis: size in number of files; y-axis: number of transactions 
© Software Competence Center Hagenberg GmbH 4
Dependency Categories 
 Static vs. dynamic Dependencies 
 Static: analyze source code (inheritance, method usage, 
imports) 
 Dynamic: analyze program execution (coverage, log files) 
 Physical vs. logical Dependencies 
 Physical: obvious, static, strong 
 Logical: not obvious, valuable, 
no structural relation available, 
weak, any type of file 
(i.e. detected from co-changes) 
© Software Competence Center Hagenberg GmbH 5
Detected dependency types 
 Transaction 
Changes that have been 
committed together, i.e., in the 
same transaction 
 Change-ID 
Changes that are related to 
the same development task, 
e.g., enhancement or bug fix 
 Comment 
Changes that have the same 
commit message 
Distribution of detected 
dependency types 
© Software Competence Center Hagenberg GmbH 6
Change History 
Year 6 
Y 0 Year 1 Year 2 Year 3 Year 4 Year 5 
11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 
Feature 
A 10 2 46 24 10 3 3 4 1 27 26 16 17 3 12 89 1 2 10 20 20 9 4 27 11 2 16 14 4 16 2 25 12 13 9 4 6 6 17 18 7 3 21 2 1 6 5 11 5 1 2 6 5 14 7 12 5 6 3 
B 50 2 201 5 313 119 23 3 171 103 3 18 1 1 
C 33 1 3 26 1 4 1 36 14 42 1 6 51 26 31 2 3 5 16 1 1 17 29 8 16 12 13 5 6 14 23 29 7 5 2 2 29 2 1 
D 40 15 87 56 19 15 46 6 18 6 4 45 4 13 2 5 3 1 1 2 2 1 1 4 7 10 
E 9 9 105 1 12 5 4 43 5 2 2 1 1 2 1 
F 138 161 68 43 7 41 15 81 7 12 
G 100 7 96 1 1 1 1 116 207 86 
H 205 94 27 7 9 188 137 67 162 83 24 284 149 55 80 57 17 51 22 100 183 106 153 67 102 83 442 125 31 84 7 31 187 394 124 63 44 112 3 50 122 45 129 1 14 67 85 23 102 61 21 268 80 26 32 41 36 87 501 4 168 164 83 
I 29 327 23 52 49 8 17 12 23 21 25 16 217 33 6 17 15 5 26 57 156 10 64 130 65 8 6 63 28 77 82 27 71 23 161 78 33 153 15 20 56 9 129 3 14 6 68 6 26 84 2 20 25 12 11 46 29 39 29 41 5 8 1 
J 24 8 9 14 9 3 13 11 19 48 13 1 1 4 1 3 6 8 1 11 11 3 2 45 11 12 8 16 7 2 12 14 27 11 5 4 6 1 3 6 57 102 12 1 4 13 
K 884 324 884 884 
L 136 160 
M 858 808 4 934 # # # # 2 1 2 1515 1519 57 9 
N 29 238 112 18 122 77 62 16 23 11 74 55 3 8 14 3 50 9 54 55 53 1 44 1 30 8 1 1 7 21 19 2 83 26 3 46 22 13 3 11 24 1 10 
O 39 177 116 63 17 9 26 265 588 94 100 412 293 506 520 84 52 139 518 79 89 23 159 424 14 30 227 46 10 56 20 23 21 10 56 44 68 24 41 30 11 22 446 47 111 16 49 40 190 49 3 10 3 13 37 26 49 489 40 151 4 29 60 129 64 
P 123 1 2 133 10 6 2 13 36 16 3 13 4 1 2 192 149 8 3 14 1 1 2 1 4 6 163 7 4 18 297 7 
Q 12 19 76 73 4 20 78 35 
R1 272 183 237 246 15 3 45 95 23 86 84 24 152 88 156 125 81 58 112 23 170 85 102 71 88 1139 24 369 73 4 148 4 282 17 94 48 399 429 412 32 100 155 70 740 551 479 83 42 297 173 90 44 32 2 81 310 14 22 22 16 155 92 
R2 168 144 166 117 2 18 3 16 19 8 33 1 1 1 11 2 54 7 11 23 77 48 183 89 159 21 27 85 73 2 46 78 81 52 41 9 89 52 44 69 4 28 58 56 39 29 58 1 47 96 19 7 8 46 17 9 11 10 8 16 
R3 100 625 158 356 693 361 157 951 165 187 88 435 217 293 46 193 125 216 131 285 121 276 292 156 248 13 183 38 133 216 311 193 109 157 147 134 91 91 20 29 125 153 94 75 155 2 111 53 26 9 15 30 21 33 62 2 7 38 
R4 15 28 31 14 12 2 4 2 3 24 1 22 2 9 4 2 5 4 107 4 21 12 47 9 7 41 3 20 3 1 5 6 7 11 14 14 7 1 
S 26 43 49 5 166 58 126 447 121 93 426 30 177 317 233 78 261 101 111 70 9 61 30 11 2 99 198 58 12 14 74 114 148 459 45 110 56 197 61 446 168 98 4 27 22 813 400 58 72 37 31 2 44 15 41 14 60 17 9 61 94 128 
T1 176 141 59 38 19 8 119 59 58 5 76 5 8 6 19 25 7 76 29 22 1 19 18 6 16 3 1 12 61 61 1 52 34 14 25 84 45 25 6 9 12 1 84 5 2 51 23 8 5 1 2 
T2 14 437 31 34 3 12 2 65 17 16 38 3 7 1 
T3 # # 1 42 57 
U 15 7 9 2 2 24 1 1 2 1 367 213 116 27 6 17 10 19 38 2 10 57 1 52 134 38 8 1 34 5 26 5 1 32 9 4 1 2 23 7 
V 104 71 257 102 142 198 69 74 4 281 379 397 283 106 51 42 40 23 84 28 
W 95 340 635 245 326 101 134 8 1 8 2 29 15 7 30 33 9 2 10 
X 465 637 4 205 57 47 14 276 310 208 18 3 
Y 228 96 7 
Z 93 1 
60 33 46 ### ### ### ### ### 43 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 96 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 
1 1 198 394 591 788 985 1181 # # 1575 1771 # # 2000 
4000 
0 
Dev. 
Platform 
Server 
Client 
Activity 
number of changes to different files in distinct commits per month 
© Software Competence Center Hagenberg GmbH 7
Derived Dependencies from 
Change History 
11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 
A 6 568 340 4 12 66 246 21 20 50 75 2 4 34 30 117 31 # # 11 27 56 24 26 142 23 20 67 22 2 45 # # 2 71 1 3 25 56 252 18 25 29 19 4 70 29 
B 228 2 # # 237 # # 804 4 24 12 1 # # # # 1165 42 25 119 1 16 32 
C 120 346 4 252 8 266 10 2 140 47 1 8 7 166 269 180 2 12 4 6 469 # # 160 1 12 6 133 2 
D 118 43 510 609 260 335 152 328 100 13 185 834 114 642 6 86 3 95 23 120 82 102 80 52 791 7 18 3 1 
E 81 # # 2 172 16 1550 961 506 23 6 1 119 1 2 171 
F # # 46 1572 332 38 140 816 8 
G # # 169 # # 119 3 1 # # # # # # 
H # # # # 406 264 253 3 # # # # # # # # 755 348 114 # # 1127 454 # # 145 651 182 # # # # 855 # # # # 2161 # # # # # # # # # # 10 123 # # # # # # # # 59 # # 79 685 # # 778 # # 546 # # # # 236 # # # # 385 # # 668 356 # # # # 767 # # # # 16 # # # # # # 
I 732 # # 376 # # # # 30 98 62 62 449 488 219 95 64 545 190 82 494 6 141 284 # # 486 # # # # # # 437 20 # # 180 # # # # 278 891 504 # # 1719 57 # # 17 232 # # 327 # # 2 48 133 516 68 698 # # 4 198 194 158 67 # # 422 190 355 312 128 23 7 
J # # 329 99 623 165 160 119 338 96 113 11 20 102 3 165 195 2 60 247 30 # # 124 10 1132 295 199 603 100 13 # # 196 # # 139 70 70 1518 22 709 # # # # 115 1 23 160 
K # # 
L # # # # 
M 85 2 747 9 34 108 269 720 5 # # 157 
N # # 656 53 2 221 30 23 # # 1361 24 398 94 98 45 # # # # # # 1019 234 10 28 240 468 5 # # 1316 720 # # # # # # 9 783 344 100 
O 513 # # 1553 224 46 755 73 # # # # 207 596 # # # # # # # # 393 476 873 # # # # # # 652 732 # # 369 27 3715 # # 78 # # # # 292 1193 655 689 # # 210 733 347 363 252 # # 884 # # 121 920 216 # # 1315 10 256 9 37 385 404 # # # # 445 # # 17 # # 1219 # # # # 
P # # 2 445 552 57 355 112 167 39 151 51 32 # # # # 554 36 120 4 6 6 1 75 155 # # 103 88 376 # # 396 
Q # # 252 1471 # # 100 417 # # 837 
R1 # # # # # # # # 156 15 170 120 722 # # 449 136 446 453 # # 1477 # # 325 1616 355 # # # # # # 1587 # # # # 365 # # # # 141 # # 6 251 351 1186 # # # # # # # # 355 # # # # # # # # 853 # # 880 # # # # # # # # 1149 320 71 # # # # 473 346 61 190 450 560 9 9 
R2 # # 1291 5571 # # 18 20 167 # # 194 98 13 51 26 411 23 728 31 372 # # # # # # # # # # # # 996 # # # # 161 2 # # # # 928 327 544 125 # # # # # # # # 25 519 # # # # # # 1621 # # 34 764 1195 76 4 265 # # 59 177 590 145 224 494 
R3 # # # # 513 # # # # # # # # # # # # # # 672 # # # # # # 254 # # # # # # # # # # # # # # # # # # # # 24 236 641 # # # # # # 562 831 4117 # # # # # # # # 28 136 # # # # # # # # # # 5 # # 788 864 677 712 973 80 555 # # 174 # # 
R4 47 789 180 102 89 7 143 53 17 22 # # 300 14 238 48 38 # # 21 231 178 # # 97 292 822 9 # # 51 25 7 835 165 57 202 320 6 
S 218 545 # # 94 # # 199 # # # # # # # # 35 296 # # # # # # # # # # # # # # # # 112 # # # # 867 # # # # # # 160 68 473 # # # # # # 517 # # # # # # 1153 # # # # # # 6 165 195 # # # # 318 4711 647 189 23 1777 # # # # 90 421 77 68 # # 1163 # # 
T1 # # 283 945 579 127 11 371 # # 1578 94 # # 42 241 127 466 # # 133 # # 223 342 # # 619 227 32 165 160 513 469 541 160 # # # # # # 243 503 57 # # 4191 73 # # 228 29 2 7 1 4 
T2 196 # # 712 809 536 # # 51 # # 163 425 894 7 52 1 4 
T3 65 14 # # # # 
U 75 176 274 6 24 2 11 20 22 3 # # 6101 # # # # 126 29 635 # # # # 8 2 36 42 33 1164 # # 319 44 5 1151 415 # # 52 2 # # 434 7 238 3 188 237 
V # # 5710 # # # # # # # # # # 3157 345 # # # # # # # # 500 245 609 511 63 1677 420 
W 8011 # # # # # # # # # # # # 161 21 181 64 689 749 141 239 450 291 98 178 
X # # # # 114 # # 964 1116 58 # # # # # # 191 100 
Y # # 815 8 
Z # # 
### 2 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 
1 1 # # # # # # # # # # # # # # # # # # # # 237K 
Activity 
0 
Feature 
Dev. 
Platform 
Server 
Client 
280000 
Y 0 Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 
number of distinct dependencies per file 
© Software Competence Center Hagenberg GmbH 8
Dependencies at different levels 
Java files are also frequently 
related with non-code files 
java 4E+06 34528 2E+05 76079 258 8067 14129 3350 826 2110 1248 
jrxml 34528 3E+05 12001 3188 76 54 5 54 282 
gif 2E+05 12001 2E+05 8142 2082 196 2984 98 237 1607 62 223 
xml 76079 3188 8142 9448 240 1404 703 4 159 142 199 102 
jpg 258 76 2082 240 41344 19404 590 66 3168 887 6 
sql 8067 1404 40884 
htm 196 19404 9506 2 1568 392 
html 14129 54 2984 703 590 2 3418 44 160 220 6 53 
cs 66 5860 250 353 
js 98 4 3168 1568 44 240 14 74 2 
png 3350 5 237 159 160 14 492 32 
css 826 54 1607 142 887 392 220 74 32 118 5 
xsd 2110 62 199 6 250 328 18 
txt 1248 282 223 102 6 53 353 2 5 18 88 
Dependency graph at feature level 
shows high but mostly weak coupling 
© Software Competence Center Hagenberg GmbH 9
Dependency distribution shows 
low strength of the dependencies 
 ~160.000 out of 1.85 million 
dependencies were detected twice 
 ~1.000 dependencies were 
detected 10-times 
x-axis: detected multiple times; y-axis: number of dependencies 
© Software Competence Center Hagenberg GmbH 10
Summary and Conclusions 
 We detected dependencies that could not easily be derived 
from the static structure of the software system 
 We found a high number of dependencies with a low 
strength (confidence) 
 With the ongoing development the number of 
dependencies increased steadily 
 We consider the detected dependencies as “raw data” for 
the computation and visualization of logical coupling 
measures 
 Future Work: Further post-processing and filtering to 
adjust the dependency data to the intended application 
scenarios 
© Software Competence Center Hagenberg GmbH 11

More Related Content

What's hot

Flanges catalog
Flanges catalogFlanges catalog
Flanges cataloggdelaroca
 
WCB thin section slewing ring bearing
WCB thin section slewing ring bearingWCB thin section slewing ring bearing
WCB thin section slewing ring bearingWen Chen
 
Cloud Computing Book (Persian)
Cloud Computing Book (Persian)Cloud Computing Book (Persian)
Cloud Computing Book (Persian)Morteza Javan
 
Flange Bolt Chart
Flange Bolt ChartFlange Bolt Chart
Flange Bolt ChartSHORTBUS101
 
Alloy Pipes Chart
Alloy Pipes ChartAlloy Pipes Chart
Alloy Pipes ChartSHORTBUS101
 
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...udfujjsejkkem
 
Massey ferguson mf 1250 tractor service parts catalogue manual
Massey ferguson mf 1250 tractor service parts catalogue manualMassey ferguson mf 1250 tractor service parts catalogue manual
Massey ferguson mf 1250 tractor service parts catalogue manualufjsjekfksemm
 
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...ufjsjekjkeme
 
Massey ferguson mf 430 combine parts catalogue manual
Massey ferguson mf 430 combine parts catalogue manualMassey ferguson mf 430 combine parts catalogue manual
Massey ferguson mf 430 combine parts catalogue manualfjskekdmjekm
 
istatistik tablolar
istatistik tablolaristatistik tablolar
istatistik tablolarBurak Kocak
 
Clamp price list-au-dollar 01-2011_3
Clamp price list-au-dollar 01-2011_3Clamp price list-au-dollar 01-2011_3
Clamp price list-au-dollar 01-2011_3econosteel
 
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc Tuấn
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc TuấnĐề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc Tuấn
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc TuấnTuấn Nguyễn Quốc
 
إجراءات الترانزيت
إجراءات الترانزيتإجراءات الترانزيت
إجراءات الترانزيتMohamed Hendawy
 
3.2 Adding Integers (Day 1) (1 R) (2009)
3.2   Adding Integers (Day 1) (1 R) (2009)3.2   Adding Integers (Day 1) (1 R) (2009)
3.2 Adding Integers (Day 1) (1 R) (2009)Michael Doroquez
 

What's hot (17)

Flanges catalog
Flanges catalogFlanges catalog
Flanges catalog
 
WCB thin section slewing ring bearing
WCB thin section slewing ring bearingWCB thin section slewing ring bearing
WCB thin section slewing ring bearing
 
Cloud Computing Book (Persian)
Cloud Computing Book (Persian)Cloud Computing Book (Persian)
Cloud Computing Book (Persian)
 
Flange Bolt Chart
Flange Bolt ChartFlange Bolt Chart
Flange Bolt Chart
 
Alloy Pipes Chart
Alloy Pipes ChartAlloy Pipes Chart
Alloy Pipes Chart
 
Planning v2
Planning v2Planning v2
Planning v2
 
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...
Massey ferguson mf 298 tractor (fr) service parts catalogue manual (part numb...
 
Massey ferguson mf 1250 tractor service parts catalogue manual
Massey ferguson mf 1250 tractor service parts catalogue manualMassey ferguson mf 1250 tractor service parts catalogue manual
Massey ferguson mf 1250 tractor service parts catalogue manual
 
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...
Massey ferguson mf 590 tractor (gb) service parts catalogue manual (part numb...
 
Massey ferguson mf 430 combine parts catalogue manual
Massey ferguson mf 430 combine parts catalogue manualMassey ferguson mf 430 combine parts catalogue manual
Massey ferguson mf 430 combine parts catalogue manual
 
Matemática - Actividades Nivel Inicial - Juegos
Matemática - Actividades Nivel Inicial - JuegosMatemática - Actividades Nivel Inicial - Juegos
Matemática - Actividades Nivel Inicial - Juegos
 
istatistik tablolar
istatistik tablolaristatistik tablolar
istatistik tablolar
 
Clamp price list-au-dollar 01-2011_3
Clamp price list-au-dollar 01-2011_3Clamp price list-au-dollar 01-2011_3
Clamp price list-au-dollar 01-2011_3
 
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc Tuấn
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc TuấnĐề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc Tuấn
Đề thi học sinh giỏi toán 9- Giải chi tiết- Mới nhất- Nguyễn Quốc Tuấn
 
إجراءات الترانزيت
إجراءات الترانزيتإجراءات الترانزيت
إجراءات الترانزيت
 
Vendas por Marca
Vendas por MarcaVendas por Marca
Vendas por Marca
 
3.2 Adding Integers (Day 1) (1 R) (2009)
3.2   Adding Integers (Day 1) (1 R) (2009)3.2   Adding Integers (Day 1) (1 R) (2009)
3.2 Adding Integers (Day 1) (1 R) (2009)
 

Similar to Extracting software dependencies from change history

Stocks price
Stocks priceStocks price
Stocks priceiipmff2
 
Gloucester, VA County Budget Spreadsheet
Gloucester, VA County Budget SpreadsheetGloucester, VA County Budget Spreadsheet
Gloucester, VA County Budget SpreadsheetChuck Thompson
 
Ohecc_Bb_student_activity
Ohecc_Bb_student_activityOhecc_Bb_student_activity
Ohecc_Bb_student_activitypaul foster
 
Matemática financeira 6 tabelas financeiras de alto nível - by prof. shibat...
Matemática financeira   6 tabelas financeiras de alto nível - by prof. shibat...Matemática financeira   6 tabelas financeiras de alto nível - by prof. shibat...
Matemática financeira 6 tabelas financeiras de alto nível - by prof. shibat...prof. Renan Viana
 
I phone 4 full Schematic Diagram
I phone 4 full Schematic DiagramI phone 4 full Schematic Diagram
I phone 4 full Schematic Diagramdiyfix phone
 
I phone 4 full Schematic Diagram
I phone 4 full Schematic DiagramI phone 4 full Schematic Diagram
I phone 4 full Schematic Diagramvipphone1 vipphone
 
2010 employee absence schedule1
2010 employee absence schedule12010 employee absence schedule1
2010 employee absence schedule1Confidential
 
Pricing Drives Revenue at New Wolsey Theatre
Pricing Drives Revenue at New Wolsey TheatrePricing Drives Revenue at New Wolsey Theatre
Pricing Drives Revenue at New Wolsey TheatreTRG Arts
 
I phone 4s full Schematic Diagram
I phone 4s full Schematic DiagramI phone 4s full Schematic Diagram
I phone 4s full Schematic Diagramdiyfix phone
 
I phone 4s full Schematic Diagram
I phone 4s full Schematic DiagramI phone 4s full Schematic Diagram
I phone 4s full Schematic Diagramvipphone1 vipphone
 
iPhone 4s schematic
iPhone 4s schematiciPhone 4s schematic
iPhone 4s schematicPhonefix
 
iphone 4s full Schematic Diagram
iphone 4s full Schematic Diagramiphone 4s full Schematic Diagram
iphone 4s full Schematic Diagramdiyfix phone
 
Contoh laporan harian
Contoh laporan harianContoh laporan harian
Contoh laporan harianenhandroid
 

Similar to Extracting software dependencies from change history (20)

Stocks price
Stocks priceStocks price
Stocks price
 
Gloucester, VA County Budget Spreadsheet
Gloucester, VA County Budget SpreadsheetGloucester, VA County Budget Spreadsheet
Gloucester, VA County Budget Spreadsheet
 
Staad pro file
Staad pro fileStaad pro file
Staad pro file
 
Tellurian | 2019 Diary Catalogue Collection
Tellurian | 2019 Diary Catalogue CollectionTellurian | 2019 Diary Catalogue Collection
Tellurian | 2019 Diary Catalogue Collection
 
Ohecc_Bb_student_activity
Ohecc_Bb_student_activityOhecc_Bb_student_activity
Ohecc_Bb_student_activity
 
Matemática financeira 6 tabelas financeiras de alto nível - by prof. shibat...
Matemática financeira   6 tabelas financeiras de alto nível - by prof. shibat...Matemática financeira   6 tabelas financeiras de alto nível - by prof. shibat...
Matemática financeira 6 tabelas financeiras de alto nível - by prof. shibat...
 
I phone 4 full Schematic Diagram
I phone 4 full Schematic DiagramI phone 4 full Schematic Diagram
I phone 4 full Schematic Diagram
 
I phone 4 full Schematic Diagram
I phone 4 full Schematic DiagramI phone 4 full Schematic Diagram
I phone 4 full Schematic Diagram
 
DCPT_Template 2016
DCPT_Template 2016DCPT_Template 2016
DCPT_Template 2016
 
SAT Practice Tests
SAT Practice TestsSAT Practice Tests
SAT Practice Tests
 
Data Encryption Standard
Data Encryption StandardData Encryption Standard
Data Encryption Standard
 
SN-Lecture 13
SN-Lecture 13SN-Lecture 13
SN-Lecture 13
 
2010 employee absence schedule1
2010 employee absence schedule12010 employee absence schedule1
2010 employee absence schedule1
 
ES&FX.singlepweb email
ES&FX.singlepweb emailES&FX.singlepweb email
ES&FX.singlepweb email
 
Pricing Drives Revenue at New Wolsey Theatre
Pricing Drives Revenue at New Wolsey TheatrePricing Drives Revenue at New Wolsey Theatre
Pricing Drives Revenue at New Wolsey Theatre
 
I phone 4s full Schematic Diagram
I phone 4s full Schematic DiagramI phone 4s full Schematic Diagram
I phone 4s full Schematic Diagram
 
I phone 4s full Schematic Diagram
I phone 4s full Schematic DiagramI phone 4s full Schematic Diagram
I phone 4s full Schematic Diagram
 
iPhone 4s schematic
iPhone 4s schematiciPhone 4s schematic
iPhone 4s schematic
 
iphone 4s full Schematic Diagram
iphone 4s full Schematic Diagramiphone 4s full Schematic Diagram
iphone 4s full Schematic Diagram
 
Contoh laporan harian
Contoh laporan harianContoh laporan harian
Contoh laporan harian
 

More from Nesma

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdfNesma
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinarNesma
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfNesma
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryNesma
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinNesma
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarNesma
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos VeefkindNesma
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesNesma
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Nesma
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Nesma
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieNesma
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepuntenNesma
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegenNesma
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...Nesma
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Nesma
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...Nesma
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersNesma
 

More from Nesma (20)

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinar
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdf
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul Hussein
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan Jones
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop Schefferlie
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegen
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Extracting software dependencies from change history

  • 1. Extracting Dependencies from Software Changes An Industry Experience Report Thomas Wetzlmaier +43 7236 3343 879 thomas.wetzlmaier@scch.at www.scch.at Claus Klammer +43 7236 3343 856 claus.klammer@scch.at www.scch.at Rudolf Ramler +43 7236 3343 872 rudolf.ramler@scch.at www.scch.at SCCH is an initiative of SCCH is located in
  • 2. Key Facts of our Research Organization  Application-oriented research organization  Initiated by institutes of the Johannes Kepler University (JKU) Linz  ~ 65 employees 5 Research Foci  SAE: Software Analytics and Evolution  Software Architecture  Domain-specific languages  Document extraction from code  Automated Software Testing © Software Competence Center Hagenberg GmbH 2
  • 3. Industry Case: ERP System  Project background  ERP System for the building and construction industry  Supersedes an IBM System i (AS/400) implemented software  Client-server application with a modular rich client  Technology: Java, JBoss, Hibernate  Tool support: Subversion, Bugzilla, Mylyn  Repository contains not only source code, but also other document types (reports, data models, images, libs)  We analyzed ~6 years of development and maintenance  We identified 4 categories with total of 31 features  Client: 14 features  Server: 4 features  Platform: 6 features  Development: 7 features © Software Competence Center Hagenberg GmbH 3
  • 4. Results of the Repository Analysis Repository measures: Distribution of transaction sizes: x-axis: size in number of files; y-axis: number of transactions © Software Competence Center Hagenberg GmbH 4
  • 5. Dependency Categories  Static vs. dynamic Dependencies  Static: analyze source code (inheritance, method usage, imports)  Dynamic: analyze program execution (coverage, log files)  Physical vs. logical Dependencies  Physical: obvious, static, strong  Logical: not obvious, valuable, no structural relation available, weak, any type of file (i.e. detected from co-changes) © Software Competence Center Hagenberg GmbH 5
  • 6. Detected dependency types  Transaction Changes that have been committed together, i.e., in the same transaction  Change-ID Changes that are related to the same development task, e.g., enhancement or bug fix  Comment Changes that have the same commit message Distribution of detected dependency types © Software Competence Center Hagenberg GmbH 6
  • 7. Change History Year 6 Y 0 Year 1 Year 2 Year 3 Year 4 Year 5 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 Feature A 10 2 46 24 10 3 3 4 1 27 26 16 17 3 12 89 1 2 10 20 20 9 4 27 11 2 16 14 4 16 2 25 12 13 9 4 6 6 17 18 7 3 21 2 1 6 5 11 5 1 2 6 5 14 7 12 5 6 3 B 50 2 201 5 313 119 23 3 171 103 3 18 1 1 C 33 1 3 26 1 4 1 36 14 42 1 6 51 26 31 2 3 5 16 1 1 17 29 8 16 12 13 5 6 14 23 29 7 5 2 2 29 2 1 D 40 15 87 56 19 15 46 6 18 6 4 45 4 13 2 5 3 1 1 2 2 1 1 4 7 10 E 9 9 105 1 12 5 4 43 5 2 2 1 1 2 1 F 138 161 68 43 7 41 15 81 7 12 G 100 7 96 1 1 1 1 116 207 86 H 205 94 27 7 9 188 137 67 162 83 24 284 149 55 80 57 17 51 22 100 183 106 153 67 102 83 442 125 31 84 7 31 187 394 124 63 44 112 3 50 122 45 129 1 14 67 85 23 102 61 21 268 80 26 32 41 36 87 501 4 168 164 83 I 29 327 23 52 49 8 17 12 23 21 25 16 217 33 6 17 15 5 26 57 156 10 64 130 65 8 6 63 28 77 82 27 71 23 161 78 33 153 15 20 56 9 129 3 14 6 68 6 26 84 2 20 25 12 11 46 29 39 29 41 5 8 1 J 24 8 9 14 9 3 13 11 19 48 13 1 1 4 1 3 6 8 1 11 11 3 2 45 11 12 8 16 7 2 12 14 27 11 5 4 6 1 3 6 57 102 12 1 4 13 K 884 324 884 884 L 136 160 M 858 808 4 934 # # # # 2 1 2 1515 1519 57 9 N 29 238 112 18 122 77 62 16 23 11 74 55 3 8 14 3 50 9 54 55 53 1 44 1 30 8 1 1 7 21 19 2 83 26 3 46 22 13 3 11 24 1 10 O 39 177 116 63 17 9 26 265 588 94 100 412 293 506 520 84 52 139 518 79 89 23 159 424 14 30 227 46 10 56 20 23 21 10 56 44 68 24 41 30 11 22 446 47 111 16 49 40 190 49 3 10 3 13 37 26 49 489 40 151 4 29 60 129 64 P 123 1 2 133 10 6 2 13 36 16 3 13 4 1 2 192 149 8 3 14 1 1 2 1 4 6 163 7 4 18 297 7 Q 12 19 76 73 4 20 78 35 R1 272 183 237 246 15 3 45 95 23 86 84 24 152 88 156 125 81 58 112 23 170 85 102 71 88 1139 24 369 73 4 148 4 282 17 94 48 399 429 412 32 100 155 70 740 551 479 83 42 297 173 90 44 32 2 81 310 14 22 22 16 155 92 R2 168 144 166 117 2 18 3 16 19 8 33 1 1 1 11 2 54 7 11 23 77 48 183 89 159 21 27 85 73 2 46 78 81 52 41 9 89 52 44 69 4 28 58 56 39 29 58 1 47 96 19 7 8 46 17 9 11 10 8 16 R3 100 625 158 356 693 361 157 951 165 187 88 435 217 293 46 193 125 216 131 285 121 276 292 156 248 13 183 38 133 216 311 193 109 157 147 134 91 91 20 29 125 153 94 75 155 2 111 53 26 9 15 30 21 33 62 2 7 38 R4 15 28 31 14 12 2 4 2 3 24 1 22 2 9 4 2 5 4 107 4 21 12 47 9 7 41 3 20 3 1 5 6 7 11 14 14 7 1 S 26 43 49 5 166 58 126 447 121 93 426 30 177 317 233 78 261 101 111 70 9 61 30 11 2 99 198 58 12 14 74 114 148 459 45 110 56 197 61 446 168 98 4 27 22 813 400 58 72 37 31 2 44 15 41 14 60 17 9 61 94 128 T1 176 141 59 38 19 8 119 59 58 5 76 5 8 6 19 25 7 76 29 22 1 19 18 6 16 3 1 12 61 61 1 52 34 14 25 84 45 25 6 9 12 1 84 5 2 51 23 8 5 1 2 T2 14 437 31 34 3 12 2 65 17 16 38 3 7 1 T3 # # 1 42 57 U 15 7 9 2 2 24 1 1 2 1 367 213 116 27 6 17 10 19 38 2 10 57 1 52 134 38 8 1 34 5 26 5 1 32 9 4 1 2 23 7 V 104 71 257 102 142 198 69 74 4 281 379 397 283 106 51 42 40 23 84 28 W 95 340 635 245 326 101 134 8 1 8 2 29 15 7 30 33 9 2 10 X 465 637 4 205 57 47 14 276 310 208 18 3 Y 228 96 7 Z 93 1 60 33 46 ### ### ### ### ### 43 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 96 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 1 1 198 394 591 788 985 1181 # # 1575 1771 # # 2000 4000 0 Dev. Platform Server Client Activity number of changes to different files in distinct commits per month © Software Competence Center Hagenberg GmbH 7
  • 8. Derived Dependencies from Change History 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 A 6 568 340 4 12 66 246 21 20 50 75 2 4 34 30 117 31 # # 11 27 56 24 26 142 23 20 67 22 2 45 # # 2 71 1 3 25 56 252 18 25 29 19 4 70 29 B 228 2 # # 237 # # 804 4 24 12 1 # # # # 1165 42 25 119 1 16 32 C 120 346 4 252 8 266 10 2 140 47 1 8 7 166 269 180 2 12 4 6 469 # # 160 1 12 6 133 2 D 118 43 510 609 260 335 152 328 100 13 185 834 114 642 6 86 3 95 23 120 82 102 80 52 791 7 18 3 1 E 81 # # 2 172 16 1550 961 506 23 6 1 119 1 2 171 F # # 46 1572 332 38 140 816 8 G # # 169 # # 119 3 1 # # # # # # H # # # # 406 264 253 3 # # # # # # # # 755 348 114 # # 1127 454 # # 145 651 182 # # # # 855 # # # # 2161 # # # # # # # # # # 10 123 # # # # # # # # 59 # # 79 685 # # 778 # # 546 # # # # 236 # # # # 385 # # 668 356 # # # # 767 # # # # 16 # # # # # # I 732 # # 376 # # # # 30 98 62 62 449 488 219 95 64 545 190 82 494 6 141 284 # # 486 # # # # # # 437 20 # # 180 # # # # 278 891 504 # # 1719 57 # # 17 232 # # 327 # # 2 48 133 516 68 698 # # 4 198 194 158 67 # # 422 190 355 312 128 23 7 J # # 329 99 623 165 160 119 338 96 113 11 20 102 3 165 195 2 60 247 30 # # 124 10 1132 295 199 603 100 13 # # 196 # # 139 70 70 1518 22 709 # # # # 115 1 23 160 K # # L # # # # M 85 2 747 9 34 108 269 720 5 # # 157 N # # 656 53 2 221 30 23 # # 1361 24 398 94 98 45 # # # # # # 1019 234 10 28 240 468 5 # # 1316 720 # # # # # # 9 783 344 100 O 513 # # 1553 224 46 755 73 # # # # 207 596 # # # # # # # # 393 476 873 # # # # # # 652 732 # # 369 27 3715 # # 78 # # # # 292 1193 655 689 # # 210 733 347 363 252 # # 884 # # 121 920 216 # # 1315 10 256 9 37 385 404 # # # # 445 # # 17 # # 1219 # # # # P # # 2 445 552 57 355 112 167 39 151 51 32 # # # # 554 36 120 4 6 6 1 75 155 # # 103 88 376 # # 396 Q # # 252 1471 # # 100 417 # # 837 R1 # # # # # # # # 156 15 170 120 722 # # 449 136 446 453 # # 1477 # # 325 1616 355 # # # # # # 1587 # # # # 365 # # # # 141 # # 6 251 351 1186 # # # # # # # # 355 # # # # # # # # 853 # # 880 # # # # # # # # 1149 320 71 # # # # 473 346 61 190 450 560 9 9 R2 # # 1291 5571 # # 18 20 167 # # 194 98 13 51 26 411 23 728 31 372 # # # # # # # # # # # # 996 # # # # 161 2 # # # # 928 327 544 125 # # # # # # # # 25 519 # # # # # # 1621 # # 34 764 1195 76 4 265 # # 59 177 590 145 224 494 R3 # # # # 513 # # # # # # # # # # # # # # 672 # # # # # # 254 # # # # # # # # # # # # # # # # # # # # 24 236 641 # # # # # # 562 831 4117 # # # # # # # # 28 136 # # # # # # # # # # 5 # # 788 864 677 712 973 80 555 # # 174 # # R4 47 789 180 102 89 7 143 53 17 22 # # 300 14 238 48 38 # # 21 231 178 # # 97 292 822 9 # # 51 25 7 835 165 57 202 320 6 S 218 545 # # 94 # # 199 # # # # # # # # 35 296 # # # # # # # # # # # # # # # # 112 # # # # 867 # # # # # # 160 68 473 # # # # # # 517 # # # # # # 1153 # # # # # # 6 165 195 # # # # 318 4711 647 189 23 1777 # # # # 90 421 77 68 # # 1163 # # T1 # # 283 945 579 127 11 371 # # 1578 94 # # 42 241 127 466 # # 133 # # 223 342 # # 619 227 32 165 160 513 469 541 160 # # # # # # 243 503 57 # # 4191 73 # # 228 29 2 7 1 4 T2 196 # # 712 809 536 # # 51 # # 163 425 894 7 52 1 4 T3 65 14 # # # # U 75 176 274 6 24 2 11 20 22 3 # # 6101 # # # # 126 29 635 # # # # 8 2 36 42 33 1164 # # 319 44 5 1151 415 # # 52 2 # # 434 7 238 3 188 237 V # # 5710 # # # # # # # # # # 3157 345 # # # # # # # # 500 245 609 511 63 1677 420 W 8011 # # # # # # # # # # # # 161 21 181 64 689 749 141 239 450 291 98 178 X # # # # 114 # # 964 1116 58 # # # # # # 191 100 Y # # 815 8 Z # # ### 2 ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 1 1 # # # # # # # # # # # # # # # # # # # # 237K Activity 0 Feature Dev. Platform Server Client 280000 Y 0 Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 number of distinct dependencies per file © Software Competence Center Hagenberg GmbH 8
  • 9. Dependencies at different levels Java files are also frequently related with non-code files java 4E+06 34528 2E+05 76079 258 8067 14129 3350 826 2110 1248 jrxml 34528 3E+05 12001 3188 76 54 5 54 282 gif 2E+05 12001 2E+05 8142 2082 196 2984 98 237 1607 62 223 xml 76079 3188 8142 9448 240 1404 703 4 159 142 199 102 jpg 258 76 2082 240 41344 19404 590 66 3168 887 6 sql 8067 1404 40884 htm 196 19404 9506 2 1568 392 html 14129 54 2984 703 590 2 3418 44 160 220 6 53 cs 66 5860 250 353 js 98 4 3168 1568 44 240 14 74 2 png 3350 5 237 159 160 14 492 32 css 826 54 1607 142 887 392 220 74 32 118 5 xsd 2110 62 199 6 250 328 18 txt 1248 282 223 102 6 53 353 2 5 18 88 Dependency graph at feature level shows high but mostly weak coupling © Software Competence Center Hagenberg GmbH 9
  • 10. Dependency distribution shows low strength of the dependencies  ~160.000 out of 1.85 million dependencies were detected twice  ~1.000 dependencies were detected 10-times x-axis: detected multiple times; y-axis: number of dependencies © Software Competence Center Hagenberg GmbH 10
  • 11. Summary and Conclusions  We detected dependencies that could not easily be derived from the static structure of the software system  We found a high number of dependencies with a low strength (confidence)  With the ongoing development the number of dependencies increased steadily  We consider the detected dependencies as “raw data” for the computation and visualization of logical coupling measures  Future Work: Further post-processing and filtering to adjust the dependency data to the intended application scenarios © Software Competence Center Hagenberg GmbH 11