SlideShare a Scribd company logo
1 of 100
Download to read offline
An Empirical Study of
Build Maintenance Effort
Ahmed E.
Hassan
Bram
Adams
Yasutaka
Kamei
Thanh H.D.
Nguyen
Shane
McIntosh
Slides available online!
2
http://goo.gl/yXHHS
http://goo.gl/eICXC
Feedback
3
shanemcintosh@acm.org
Feedback
3
shanemcintosh@acm.org
Visit my poster
during the break!
4
4
4
The Build System Translates
Sources into Deliverables
4Autotools
Make
Step 1 - Configuration
5
Features
Autotools
Step 1 - Configuration
5
Features
Autotools
Step 1 - Configuration
5
Features
Tools
Autotools
Step 1 - Configuration
5
Features
Tools
Autotools
Step 2 - Construction
6
Prescriptions
Make
Step 2 - Construction
6
=
Prescriptions
Make
Step 2 - Construction
6
=
Prescriptions
Make
Step 2 - Construction
6
=
.cPrescriptions
Make
Step 2 - Construction
6
=
.cPrescriptions
Make
Step 2 - Construction
6
=
.cPrescriptions
.o
Make
Step 2 - Construction
6
=
.cPrescriptions
Dependencies
.o
Make
Step 2 - Construction
6
=
.cPrescriptions
Dependencies
.o
Make
Step 2 - Construction
6
=
.cPrescriptions
Dependencies
.o
.o.o.o
Make
Step 2 - Construction
6
=
.cPrescriptions
Dependencies
.o
.exe
.o.o.o
Make
Build code is complex...
7
Build Maintenance is a
Nuisance for Developers
8
Build Maintenance is a
Nuisance for Developers
8
Build Maintenance is a
Nuisance for Developers
8
Autotools
Make
Build Maintenance is a
Nuisance for Developers
8
Autotools
Make
Migration to
newer build
technology
9
Build Bugs Even Affect
the End User!
Address Bar
9
Build Bugs Even Affect
the End User!
Address Bar Search Bar
9
Build Bugs Even Affect
the End User!
Address Bar Search Bar
9
Build Bugs Even Affect
the End User!
Address Bar Search Bar
9
Build Bugs Even Affect
the End User!
Build Systems Require 12%
of a Developer’s
Time (on average)
10
Kumfert, G., and Epperly,T.
Software in the DOE: The
Hidden Overhead of the “Build”
Build Systems Require 12%
of a Developer’s
Time (on average)
10
Kumfert, G., and Epperly,T.
Software in the DOE: The
Hidden Overhead of the “Build”
Build maintenance
slows development!
11
Size Evolution Coupling People
Four Dimensional Study of
Build Maintenance
.mk?.c
Empirical Study of 10
Systems (>25 MLOC)
PLplot
12
Empirical Study of 10
Systems (>25 MLOC)
PLplot
12
PDE Build,ANT,
GNU Autotools, Make
Source,Test, or Build?
13
.mk.c.c.ac.dat.h
Source,Test, or Build?
13
.mk.c
Test
.c
BuildSource
.ac.dat.h
BuildTestSource
14
Evolution Coupling People
How Large is a Typical
Build System?
.mk?.c
Size
The Build Accounts for
9% of All Files (median)
15
0
0.09
0.18
0.27
0.36
16%
31%
12%
8%
3%
5%
10%
12%
1%
7%
% Build files
PLplot
16
Evolution Coupling People
How Large is a Typical
Build System?
.mk?.c
Size
9% of
all files
17
Coupling People
How Does the Build
Evolve?
.mk?.c
Size
9% of
all files
Evolution
b.ca.c
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files
x.c
b.ca.c
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files
x.c
b.ca.c
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files
Source churn
2 ÷ 3 = 67%
x.c
b.ca.c .mk
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files 2 Build specs
Source churn
2 ÷ 3 = 67%
cfgx.c
b.ca.c .mk
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files 2 Build specs
Source churn
2 ÷ 3 = 67%
cfgx.c
b.ca.c .mk
File Churn Adjusted by
System Size (# files)
18
Feb 1Jan 1
3 source files 2 Build specs
Source churn
2 ÷ 3 = 67%
Build churn
1 ÷ 2 = 50%
cfgx.c
Build File Churn is on Par
with the Source Churn
ML Hibernate−core Eclipse−core Jazz
19
PLplot
GCC Git Linux Mozilla PLplot P
Projects
0.00.20.40.60.81.0
ArgoUML Hibernate Eclipse Jazz GCC Git
Projects
NormalizedChurn
Source
Build
File
020406080100
(%)
Build File Churn is on Par
with the Source Churn
ML Hibernate−core Eclipse−core Jazz
19
PLplot
GCC Git Linux Mozilla PLplot P
Projects
0.00.20.40.60.81.0
ArgoUML Hibernate Eclipse Jazz GCC Git
Projects
NormalizedChurn
Source
Build
Build technology
migration
File
020406080100
(%)
Line Churn Adjusted by
System Size (# files)
20
x.cb.ca.c
3 source files
Feb 1Jan 1
Line Churn Adjusted by
System Size (# files)
20
x.cb.ca.c
3 source files
Feb 1Jan 1
65 4 5
Line Churn Adjusted by
System Size (# files)
20
x.cb.ca.c
3 source files
Feb 1Jan 1
65 4
Source Lines per Change list
(5+6+4+5) ÷ 4 = 5
5
Line Churn Adjusted by
System Size (# files)
20
x.cb.ca.c
3 source files
Feb 1Jan 1
65 4
Source Lines per Change list
(5+6+4+5) ÷ 4 = 5
Adjust for system size
5 ÷ 3
= 1.67
5
Build Line Churn is Higher
than the Source Churn
21
0
0.175
0.35
0.525
0.7
0.52
0.62
0.33
0.37
0.28
0.19
AverageLinesperChangeList(normalizedbysystemsize)
Source
Build
22
Coupling People
How Does the Build
Evolve?
.mk?.c
Size
9% of
all files
Evolution
Build churn
>> source
23
People
How Tightly Coupled are
Build and Source Code?
.mk?.c
Size
9% of
all files
Evolution Coupling
Build churn
>> source
Changes, Change Lists,
and Work Items
24
.c .c
Changes
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c
Changes
Change Lists
Fix for bug
#1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c
Changes
Change Lists
Fix for bug
#1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c .mk
Changes
Change Lists
Fix for bug
#1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c .mk
Changes
Change Lists
Fix for bug
#1234
Missed code for
bug #1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c .mk
Changes
Change Lists
Fix for bug
#1234
Missed code for
bug #1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c .mk
Changes
Change Lists
Fix for bug
#1234
Missed code for
bug #1234
Work items
Bug #1234
.mk?.c
Changes, Change Lists,
and Work Items
24
.c .c .mk
Changes
Change Lists
Fix for bug
#1234
Missed code for
bug #1234
Work items
Bug #1234
.mk?.c
foo.c
bar.c
Makefile
configure.ac
CL1 CL2 CL3 CL4 CL5
Build
Files
Change Lists
Source
Files
Logical Coupling Example
25
.mk?.c
foo.c
bar.c
Makefile
configure.ac
CL1 CL2 CL3 CL4 CL5
Build
Files
Change Lists
Source
Files
Logical Coupling Example
25
.mk?.c
foo.c
bar.c
Makefile
configure.ac
CL1 CL2 CL3 CL4 CL5
Build
Files
Change Lists
Source
Files
Logical Coupling Example
25
.mk?.c
foo.c
bar.c
Makefile
configure.ac
CL1 CL2 CL3 CL4 CL5
Build
Files
Change Lists
Source
Files
Logical Coupling Example
25
LC(Source Build)
= 2 ÷ 4
= 50%
.mk?.c
Change List Coupling is Below
12% Estimate
26
4%
7%7%
3%
5%5%
4%
7%
4%
3%
5%
2%
Source Build
Test Build
.mk?.c
12%
Work Item Coupling is High
27
8%
20%
44%
4%
16%
27%
Source Build
Test Build
.mk?.c
12%
Work Item Coupling is High
27
8%
20%
44%
4%
16%
27%
Source Build
Test Build
Mozilla’s build coupling is very high!
.mk?.c
12%
Work Item Coupling is High
27
8%
20%
44%
4%
16%
27%
Source Build
Test Build
Mozilla’s build coupling is very high!
Very low due to
use of higher level
build abstraction
.mk?.c
12%
28
People
How Tightly Coupled are
Build and Source Code?
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
Build churn
>> source
29
How Do Projects Distribute
Build Maintenance Work?
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
People
Build churn
>> source
Identifying build maintainers
.c .c .c .ac.c
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
25% build
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
25% build
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
0% build
25% build
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
0% build
25% build
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
0% build 50% build
25% build
Source
Build
.c .c
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
0% build 50% build
Source
Build
.c .c
≥
Identifying build maintainers
Change
list #1
.c .c .c
Change
list #3
Change
list #4
.ac.c
Change
list #2
0% build 50% build
Source
Build
.c .c
≥
If you maintain source code,
do you maintain build code?
31
25%22%
79%
% of developers
If you maintain source code,
do you maintain build code?
31
25%22%
79%
% of developers
Dispersed
Ownership:
Build maintenance is
distributed amongst
most team members
32
Dispersed
Ownership:
Build maintenance is
distributed amongst
most team members
32
Concentrated
Ownership:
A small team is
responsible for most
of the build maintenance
33
How Do Projects Distribute
Build Maintenance Work?
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
People
Dispersed or
concentrated
Build churn
>> source
Tool support needed
for build maintenance!
34
Build churn >>
source churn
Build maintenance required
for 27% of source code tasks
Threats toValidity Studied
projects
All
projects
35
Semi-automatic
classification
36
36
PLplot
37
PLplot
Size
9% of
all files
38
PLplot
Size
9% of
all files
Evolution
Build churn
>> source
39
PLplot
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
Build churn
>> source
40
PLplot
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
People
Dispersed or
concentrated
Build churn
>> source
41
PLplot
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
People
Dispersed or
concentrated
Build churn
>> source
41
PLplot
.mk?.c
Size
9% of
all files
Evolution Coupling
Tightly
coupled
People
Dispersed or
concentrated
Questions?
Build churn
>> source

More Related Content

Viewers also liked

Studying the Evolution of Build Systems
Studying the Evolution of Build SystemsStudying the Evolution of Build Systems
Studying the Evolution of Build SystemsSAIL_QU
 
An Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsAn Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsSAIL_QU
 
Msr2010 mc intosh
Msr2010 mc intoshMsr2010 mc intosh
Msr2010 mc intoshSAIL_QU
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsMichele Lanza
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesSAIL_QU
 
Mining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are NecessaryMining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are NecessaryShane McIntosh
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

Viewers also liked (14)

Studying the Evolution of Build Systems
Studying the Evolution of Build SystemsStudying the Evolution of Build Systems
Studying the Evolution of Build Systems
 
An Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsAn Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance Tests
 
Msr2010 mc intosh
Msr2010 mc intoshMsr2010 mc intosh
Msr2010 mc intosh
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software Systems
 
ICSE2011_SRC
ICSE2011_SRC ICSE2011_SRC
ICSE2011_SRC
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
 
Mining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are NecessaryMining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are Necessary
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similar to Icse2011 build maintenance

Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionShane McIntosh
 
Tracing Software Build Processes to Uncover License Compliance Inconsistencies
Tracing Software Build Processes to Uncover License Compliance InconsistenciesTracing Software Build Processes to Uncover License Compliance Inconsistencies
Tracing Software Build Processes to Uncover License Compliance InconsistenciesShane McIntosh
 
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...Tracing Software Build Processes to Uncover License Compliance Inconsistencie...
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...Shane McIntosh
 
Studying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build SystemsStudying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build SystemsSAIL_QU
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
The Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceThe Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceDataWorks Summit/Hadoop Summit
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prodYan Cui
 
Identifying Hotspots in the PostgreSQL Build Process
Identifying Hotspots in the PostgreSQL Build ProcessIdentifying Hotspots in the PostgreSQL Build Process
Identifying Hotspots in the PostgreSQL Build ProcessShane McIntosh
 
Compose all the things
Compose all the thingsCompose all the things
Compose all the thingsThomas Sojka
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesAndreas Grabner
 
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLICode on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLIBrian McKeiver
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Kim Herzig
 
The Anatomy of TYPO3 Sitepackages
The Anatomy of TYPO3 SitepackagesThe Anatomy of TYPO3 Sitepackages
The Anatomy of TYPO3 SitepackagesBenjamin Kott
 
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltdhbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., LtdMichael Stack
 
Tested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps WorkingTested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps WorkingAdam Dangoor
 
Acunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra AppsAcunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra AppsAcunu
 

Similar to Icse2011 build maintenance (20)

Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
 
Tracing Software Build Processes to Uncover License Compliance Inconsistencies
Tracing Software Build Processes to Uncover License Compliance InconsistenciesTracing Software Build Processes to Uncover License Compliance Inconsistencies
Tracing Software Build Processes to Uncover License Compliance Inconsistencies
 
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...Tracing Software Build Processes to Uncover License Compliance Inconsistencie...
Tracing Software Build Processes to Uncover License Compliance Inconsistencie...
 
Studying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build SystemsStudying the Software Development Overhead of Build Systems
Studying the Software Development Overhead of Build Systems
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
The Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open SourceThe Next Generation of Data Processing and Open Source
The Next Generation of Data Processing and Open Source
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
Identifying Hotspots in the PostgreSQL Build Process
Identifying Hotspots in the PostgreSQL Build ProcessIdentifying Hotspots in the PostgreSQL Build Process
Identifying Hotspots in the PostgreSQL Build Process
 
Compose all the things
Compose all the thingsCompose all the things
Compose all the things
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Kubernetes 1001
Kubernetes 1001Kubernetes 1001
Kubernetes 1001
 
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLICode on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)
 
The Anatomy of TYPO3 Sitepackages
The Anatomy of TYPO3 SitepackagesThe Anatomy of TYPO3 Sitepackages
The Anatomy of TYPO3 Sitepackages
 
Keeping Master Green at Scale
Keeping Master Green at ScaleKeeping Master Green at Scale
Keeping Master Green at Scale
 
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltdhbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
 
Tested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps WorkingTested and Correct, How to Make Sure Your Documentation Keeps Working
Tested and Correct, How to Make Sure Your Documentation Keeps Working
 
Acunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra AppsAcunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra Apps
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Icse2011 build maintenance