SlideShare a Scribd company logo
1 of 24
Download to read offline
A tale of ci build failures: an Open Source and a Financial Organization
Perspective
Carmine Vassallo, Gerald Schermann, Fiorella Zampetti, Daniele Romano, Philipp Leitner,
Andy Zaidman, Massimiliano Di Penta, Sebastiano Panichella
1
@ccvassallovassallo@ifi.uzh.ch
Continuous Delivery is a
software development
discipline where you
build software in such a
way that the software
can be released to
production at any time.
(Martin Fowler)
2
Continuous Delivery is a
software development
discipline where you
build software in such a
way that the software
can be released to
production at any time.
(Martin Fowler)
3
Software building: Continuous Integration 4
4
Build(CI)Source
Software building: Continuous Integration 5
5
Build(CI)Source
• On average, a build failure takes
57 min to fix.
• The overall cost of build failures
ranging from 904.64 to 2034.92
man-hours (over a period of 6
months).
• They monitored roughly 7200
man-hours.
. . Kerzazi, F. Khomh, and B. Adams, Why do automated builds break? an empirical study, in 30th IEEE International Conference on Software
Maintenance and Evolution (ICSME), pp. 41–50, IEEE, 2014. 

Relevance of Build Breakage 6
6
Build breaks types 7
Failing tests are the dominant reason for unsuccessful builds
(Rausch et al., MSR 2017) (Beller et al., MSR 2017)
IndustryOSS
40% of the failures occur during static analysis
(Miller et al., AGILE 2008)
Dependencies between components are the most relevant
cause of compilation related failures
(Seo et al., ICSE 2014)
7
8
What are differences and
commonalities in the
distribution of build failure
types occurring in OSS and
industry?
8
9
9
10
RQ1 What types of failures affect builds
of OSS and industrial projects?
RQ2 How frequent are the different
types of build failures in the observed
OSS and industrial projects?
10
Data Selection 11
• 418 Maven (mostly Java)
projects
• 12,871 builds of which 3,390
(≈ 26%) failed.
• 349 Maven (Java) projects
• 116,741 builds, of which 30,792
(≈ 26%) failed
11
IndustryOSS
12
Data Selection
• 418 Maven (mostly Java)
projects
• 12,871 builds of which 3,390
(≈ 26%) failed.
• 349 Maven (Java) projects
• 116,741 builds, of which 30,792
(≈ 26%) failed
IndustryOSS
Build failure logs were the only resources we could
access
12
13
Data Preprocessing
13
14
Data Preprocessing
14
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project es-common:
Compilation failure
[ERROR] /home/travis/build/zhangkaitao/es/common/src/main/java/com/sishuok/es/common/utils/html/HTMLUtils.java:[14,8] class
HtmlUtils is public, should be declared in a file named HtmlUtils.java
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Keyword grouping
Build Log classification
Result Validation
!
" #
$
Build Failure Catalog 15
15
CODE ANALYSIS (STATIC)
org.codehaus.mojo:sonar-maven-plugin:sonar
org.codehaus.mojo:findbugs-maven-plugin:findbugs
Inter-rater agreement
• Industry: k=0.8 (strong agreement)
• OSS: k=0.62 (strong agreement)
16
CLEAN
VALIDATION
PRE-PROCESSING (RESOURCES)
COMPILATION
TESTING
PACKAGING
DOCUMENTATION
SUPPORT
EXTERNAL TASKS
CODE ANALYSIS
RELEASE PREPARATION
DEPLOYMENT
DEPENDENCIES
PRODUCTION
TEST
SUPPORT
UNIT TESTING
INTEGRATION TESTING
NON FUNCTIONAL TESTING
CROSSCUTTING
STATIC
DYNAMIC
LOCAL
REMOTE
RQ1 What type of failures affect builds of OSS and
industrial projects?
16
17
Clean
Validation
Preprocessing
Compilation (production)
Compilation (test)
Compilation (support)
Testing (unit)
Testing (integration)
Testing (non functional)
Testing (crosscutting)
Packaging
Static Analysis
Dynamic Analysis
Deployment (Local)
Deployment (Remote)
Documentation
Release Preparation
Support
External Tasks
Dependencies
% of build failures
0% 5% 10% 15% 20% 25%
7.1%
1.4%
0.9%
0.0%
0.9%
0.5%
0.0%
0.2%
4.2%
0.8%
8.3%
0.0%
5.0%
28.0%
0.2%
1.8%
7.1%
1.3%
0.5%
0.0%
6.3%
8.8%
0.0%
21.1%
0.3%
10.0%
0.4%
0.0%
16.4%
2.1%
18.3%
2.7%
13.3%
5.2%
0.0%
2.3%
4.2%
0.0%
0.0%
0.0%
Org OSS
RQ2 How frequent are
the different types of
build failures in the
observed OSS and
industrial projects?
Industry
17
18
Compilation (production)
Compilation (test)
Compilation (support)
% of build failures
0% 5% 10% 15% 20% 25%
0.2%
1.8%
7.1%
0.0%
2.3%
4.2%
ING OSS
Compilation Errors are fairly limited
Industry
RQ2 How frequent are the different types of build
failures in the observed OSS and industrial projects?
18
19
Testing (unit)
Testing (integration)
Testing (non functional)
% of build failures
0% 5% 10% 15% 20% 25%
0.0%
5.0%
28.0%
2.7%
13.3%
5.2%
ING OSS
OSS projects exhibit more unit than
integration testing related failures.
In industry it’s the opposite.
Early discovery of non-functional failures in
industry.
RQ2 How frequent are the different types of build
failures in the observed OSS and industrial projects?
Industry
19
20
Static Analysis
% of build failures
0% 5% 10% 15% 20% 25%
4.2%
16.4%
ING OSS
Static Analysis tools: on CI server in OSS,
remotely in industry.
RQ2 How frequent are the different types of build
failures in the observed OSS and industrial projects?
Industry
20
21
Deployment (Local)
Deployment (Remote)
Release Preparation
% of build failures
0% 5% 10% 15% 20% 25%
0.0%
0.5%
0.0%
21.1%
10.0%
0.4%
ING OSS
Release preparation and deployment failures
are very common in industry, less so in OSS
RQ2 How frequent are the different types of build
failures in the observed OSS and industrial projects?
Industry
21
22
• Projects clustering (using K-means
algorithm)
• Optimal value of silhouette statistic: 6
• Each cluster dominated either by
industrial or oss projects
• except Dependencies
#projects
0
45
90
135
180
Cluster
CodeAnalysis
ReleasePreparation
Dependencies
CrosscuttingTesting
UnitTesting
Compilation
ING OSS
25%
75% 100% 59%
41% 85%
31%
69%
94%
6%
15%
22
RQ2 How frequent are the different types of build
failures in the observed OSS and industrial project?
Industry
23
• Dependencies related failures occur with the same frequency.
Key findings
• In OSS projects a lot of failures are due to unit testing: try to catch those
issues earlier!
• Need for a better release/deployment strategy in OSS.
• Static analysis on separate server: well collected data and less overloading of
CI server.
• Towards early discovery of non functional testing failures.
23
@ccvassallovassallo@ifi.uzh.ch
24
Build breaks types X
Failing tests are the dominant reason for unsuccessful builds
(Rausch et al., MSR 2017) (Beller et al., MSR 2017)
IndustryOSS
40% of the failures occur during static analysis
(Miller et al., AGILE 2008)
Dependencies between components are the most relevant
cause of compilation related failures
(Seo et al., ICSE 2014)
X
X
RQ1 What types of failures affect builds
of OSS and industrial projects?
RQ2 How frequent are the different
types of build failures in the observed
OSS and industrial projects?
X
X
CLEAN
VALIDATION
PRE-PROCESSING (RESOURCES)
COMPILATION
TESTING
PACKAGING
DOCUMENTATION
SUPPORT
EXTERNAL TASKS
CODE ANALYSIS
RELEASE PREPARATION
DEPLOYMENT
DEPENDENCIES
PRODUCTION
TEST
SUPPORT
UNIT TESTING
INTEGRATION TESTING
NON FUNCTIONAL TESTING
CROSSCUTTING
STATIC
DYNAMIC
LOCAL
REMOTE
RQ1 What type of failures affect builds of OSS and
industrial projects?
X
X
Clean
Validation
Preprocessing
Compilation (production)
Compilation (test)
Compilation (support)
Testing (unit)
Testing (integration)
Testing (non functional)
Testing (crosscutting)
Packaging
Static Analysis
Dynamic Analysis
Deployment (Local)
Deployment (Remote)
Documentation
Release Preparation
Support
External Tasks
Dependencies
% of build failures
0% 5% 10% 15% 20% 25%
7.1%
1.4%
0.9%
0.0%
0.9%
0.5%
0.0%
0.2%
4.2%
0.8%
8.3%
0.0%
5.0%
28.0%
0.2%
1.8%
7.1%
1.3%
0.5%
0.0%
6.3%
8.8%
0.0%
21.1%
0.3%
10.0%
0.4%
0.0%
16.4%
2.1%
18.3%
2.7%
13.3%
5.2%
0.0%
2.3%
4.2%
0.0%
0.0%
0.0%
Org OSS
RQ2 How frequent are
the different types of
build failures in the
observed OSS and
industrial projects?
Industry
X

More Related Content

Similar to A Tale of CI Build Failures: an Open Source and a Financial Organization Perspective

Characterizing and Mitigating Self-Admitted Technical Debt in Build Systems
Characterizing and Mitigating Self-Admitted Technical Debt in Build SystemsCharacterizing and Mitigating Self-Admitted Technical Debt in Build Systems
Characterizing and Mitigating Self-Admitted Technical Debt in Build SystemsTaoXiao7
 
software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional modelREHMAT ULLAH
 
Unsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable AppsUnsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable AppsCAST
 
Mk epn seminar-panel-for-public
Mk epn seminar-panel-for-publicMk epn seminar-panel-for-public
Mk epn seminar-panel-for-publicMiya Kohno
 
Software requirements engineering
Software requirements engineeringSoftware requirements engineering
Software requirements engineeringAbdul Basit
 
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...RAKESH RANA
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET Journal
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CASTCAST
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingSebastiano Panichella
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...University of Antwerp
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meetingSergii Shmarkatiuk
 
Why do Automated Builds Break? An Empirical Study (ICSME 2014)
Why do Automated Builds Break? An Empirical Study (ICSME 2014)Why do Automated Builds Break? An Empirical Study (ICSME 2014)
Why do Automated Builds Break? An Empirical Study (ICSME 2014)Bram Adams
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 

Similar to A Tale of CI Build Failures: an Open Source and a Financial Organization Perspective (20)

Characterizing and Mitigating Self-Admitted Technical Debt in Build Systems
Characterizing and Mitigating Self-Admitted Technical Debt in Build SystemsCharacterizing and Mitigating Self-Admitted Technical Debt in Build Systems
Characterizing and Mitigating Self-Admitted Technical Debt in Build Systems
 
PROFIBUS and PROFINET system design for the process industry - Andy Verwer
PROFIBUS and PROFINET system design for the process industry - Andy VerwerPROFIBUS and PROFINET system design for the process industry - Andy Verwer
PROFIBUS and PROFINET system design for the process industry - Andy Verwer
 
software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional model
 
Profibus and Profinet system design - Andy Verwer
Profibus and Profinet system design - Andy VerwerProfibus and Profinet system design - Andy Verwer
Profibus and Profinet system design - Andy Verwer
 
Unsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable AppsUnsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable Apps
 
Mk epn seminar-panel-for-public
Mk epn seminar-panel-for-publicMk epn seminar-panel-for-public
Mk epn seminar-panel-for-public
 
Software requirements engineering
Software requirements engineeringSoftware requirements engineering
Software requirements engineering
 
Msr17b.ppt
Msr17b.pptMsr17b.ppt
Msr17b.ppt
 
Msr17b.ppt
Msr17b.pptMsr17b.ppt
Msr17b.ppt
 
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CAST
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software Testing
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
 
System design for the water industry - Andy Verwer
System design for the water industry -  Andy VerwerSystem design for the water industry -  Andy Verwer
System design for the water industry - Andy Verwer
 
PROFIBUS and PROFINET system design for the process industry - Andy Verwer
PROFIBUS and PROFINET system design for the process industry - Andy VerwerPROFIBUS and PROFINET system design for the process industry - Andy Verwer
PROFIBUS and PROFINET system design for the process industry - Andy Verwer
 
Why do Automated Builds Break? An Empirical Study (ICSME 2014)
Why do Automated Builds Break? An Empirical Study (ICSME 2014)Why do Automated Builds Break? An Empirical Study (ICSME 2014)
Why do Automated Builds Break? An Empirical Study (ICSME 2014)
 
System design for the process industry - Andy Verwer
System design for the process industry - Andy VerwerSystem design for the process industry - Andy Verwer
System design for the process industry - Andy Verwer
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 

More from Sebastiano Panichella

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Sebastiano Panichella
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSebastiano Panichella
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsSebastiano Panichella
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...Sebastiano Panichella
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Sebastiano Panichella
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingSebastiano Panichella
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Sebastiano Panichella
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsSebastiano Panichella
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Sebastiano Panichella
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22Sebastiano Panichella
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021. Sebastiano Panichella
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...Sebastiano Panichella
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Sebastiano Panichella
 

More from Sebastiano Panichella (20)

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical Systems
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software Engineering
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz Testing
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play Apps
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22
 
NLBSE’22: Tool Competition
NLBSE’22: Tool CompetitionNLBSE’22: Tool Competition
NLBSE’22: Tool Competition
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
 

Recently uploaded

Early Modern Spain. All about this period
Early Modern Spain. All about this periodEarly Modern Spain. All about this period
Early Modern Spain. All about this periodSaraIsabelJimenez
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Escort Service
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comsaastr
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptxogubuikealex
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEMCharmi13
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...marjmae69
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Krijn Poppe
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGYpruthirajnayak525
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRRsarwankumar4524
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...漢銘 謝
 
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRachelAnnTenibroAmaz
 
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...Henrik Hanke
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.KathleenAnnCordero2
 

Recently uploaded (20)

Early Modern Spain. All about this period
Early Modern Spain. All about this periodEarly Modern Spain. All about this period
Early Modern Spain. All about this period
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptx
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEM
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
 
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
 
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
 

A Tale of CI Build Failures: an Open Source and a Financial Organization Perspective

  • 1. A tale of ci build failures: an Open Source and a Financial Organization Perspective Carmine Vassallo, Gerald Schermann, Fiorella Zampetti, Daniele Romano, Philipp Leitner, Andy Zaidman, Massimiliano Di Penta, Sebastiano Panichella 1 @ccvassallovassallo@ifi.uzh.ch
  • 2. Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. (Martin Fowler) 2
  • 3. Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. (Martin Fowler) 3
  • 4. Software building: Continuous Integration 4 4 Build(CI)Source
  • 5. Software building: Continuous Integration 5 5 Build(CI)Source
  • 6. • On average, a build failure takes 57 min to fix. • The overall cost of build failures ranging from 904.64 to 2034.92 man-hours (over a period of 6 months). • They monitored roughly 7200 man-hours. . . Kerzazi, F. Khomh, and B. Adams, Why do automated builds break? an empirical study, in 30th IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 41–50, IEEE, 2014. 
 Relevance of Build Breakage 6 6
  • 7. Build breaks types 7 Failing tests are the dominant reason for unsuccessful builds (Rausch et al., MSR 2017) (Beller et al., MSR 2017) IndustryOSS 40% of the failures occur during static analysis (Miller et al., AGILE 2008) Dependencies between components are the most relevant cause of compilation related failures (Seo et al., ICSE 2014) 7
  • 8. 8 What are differences and commonalities in the distribution of build failure types occurring in OSS and industry? 8
  • 9. 9 9
  • 10. 10 RQ1 What types of failures affect builds of OSS and industrial projects? RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? 10
  • 11. Data Selection 11 • 418 Maven (mostly Java) projects • 12,871 builds of which 3,390 (≈ 26%) failed. • 349 Maven (Java) projects • 116,741 builds, of which 30,792 (≈ 26%) failed 11 IndustryOSS
  • 12. 12 Data Selection • 418 Maven (mostly Java) projects • 12,871 builds of which 3,390 (≈ 26%) failed. • 349 Maven (Java) projects • 116,741 builds, of which 30,792 (≈ 26%) failed IndustryOSS Build failure logs were the only resources we could access 12
  • 14. 14 Data Preprocessing 14 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project es-common: Compilation failure [ERROR] /home/travis/build/zhangkaitao/es/common/src/main/java/com/sishuok/es/common/utils/html/HTMLUtils.java:[14,8] class HtmlUtils is public, should be declared in a file named HtmlUtils.java [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
  • 15. Keyword grouping Build Log classification Result Validation ! " # $ Build Failure Catalog 15 15 CODE ANALYSIS (STATIC) org.codehaus.mojo:sonar-maven-plugin:sonar org.codehaus.mojo:findbugs-maven-plugin:findbugs Inter-rater agreement • Industry: k=0.8 (strong agreement) • OSS: k=0.62 (strong agreement)
  • 16. 16 CLEAN VALIDATION PRE-PROCESSING (RESOURCES) COMPILATION TESTING PACKAGING DOCUMENTATION SUPPORT EXTERNAL TASKS CODE ANALYSIS RELEASE PREPARATION DEPLOYMENT DEPENDENCIES PRODUCTION TEST SUPPORT UNIT TESTING INTEGRATION TESTING NON FUNCTIONAL TESTING CROSSCUTTING STATIC DYNAMIC LOCAL REMOTE RQ1 What type of failures affect builds of OSS and industrial projects? 16
  • 17. 17 Clean Validation Preprocessing Compilation (production) Compilation (test) Compilation (support) Testing (unit) Testing (integration) Testing (non functional) Testing (crosscutting) Packaging Static Analysis Dynamic Analysis Deployment (Local) Deployment (Remote) Documentation Release Preparation Support External Tasks Dependencies % of build failures 0% 5% 10% 15% 20% 25% 7.1% 1.4% 0.9% 0.0% 0.9% 0.5% 0.0% 0.2% 4.2% 0.8% 8.3% 0.0% 5.0% 28.0% 0.2% 1.8% 7.1% 1.3% 0.5% 0.0% 6.3% 8.8% 0.0% 21.1% 0.3% 10.0% 0.4% 0.0% 16.4% 2.1% 18.3% 2.7% 13.3% 5.2% 0.0% 2.3% 4.2% 0.0% 0.0% 0.0% Org OSS RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? Industry 17
  • 18. 18 Compilation (production) Compilation (test) Compilation (support) % of build failures 0% 5% 10% 15% 20% 25% 0.2% 1.8% 7.1% 0.0% 2.3% 4.2% ING OSS Compilation Errors are fairly limited Industry RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? 18
  • 19. 19 Testing (unit) Testing (integration) Testing (non functional) % of build failures 0% 5% 10% 15% 20% 25% 0.0% 5.0% 28.0% 2.7% 13.3% 5.2% ING OSS OSS projects exhibit more unit than integration testing related failures. In industry it’s the opposite. Early discovery of non-functional failures in industry. RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? Industry 19
  • 20. 20 Static Analysis % of build failures 0% 5% 10% 15% 20% 25% 4.2% 16.4% ING OSS Static Analysis tools: on CI server in OSS, remotely in industry. RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? Industry 20
  • 21. 21 Deployment (Local) Deployment (Remote) Release Preparation % of build failures 0% 5% 10% 15% 20% 25% 0.0% 0.5% 0.0% 21.1% 10.0% 0.4% ING OSS Release preparation and deployment failures are very common in industry, less so in OSS RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? Industry 21
  • 22. 22 • Projects clustering (using K-means algorithm) • Optimal value of silhouette statistic: 6 • Each cluster dominated either by industrial or oss projects • except Dependencies #projects 0 45 90 135 180 Cluster CodeAnalysis ReleasePreparation Dependencies CrosscuttingTesting UnitTesting Compilation ING OSS 25% 75% 100% 59% 41% 85% 31% 69% 94% 6% 15% 22 RQ2 How frequent are the different types of build failures in the observed OSS and industrial project? Industry
  • 23. 23 • Dependencies related failures occur with the same frequency. Key findings • In OSS projects a lot of failures are due to unit testing: try to catch those issues earlier! • Need for a better release/deployment strategy in OSS. • Static analysis on separate server: well collected data and less overloading of CI server. • Towards early discovery of non functional testing failures. 23
  • 24. @ccvassallovassallo@ifi.uzh.ch 24 Build breaks types X Failing tests are the dominant reason for unsuccessful builds (Rausch et al., MSR 2017) (Beller et al., MSR 2017) IndustryOSS 40% of the failures occur during static analysis (Miller et al., AGILE 2008) Dependencies between components are the most relevant cause of compilation related failures (Seo et al., ICSE 2014) X X RQ1 What types of failures affect builds of OSS and industrial projects? RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? X X CLEAN VALIDATION PRE-PROCESSING (RESOURCES) COMPILATION TESTING PACKAGING DOCUMENTATION SUPPORT EXTERNAL TASKS CODE ANALYSIS RELEASE PREPARATION DEPLOYMENT DEPENDENCIES PRODUCTION TEST SUPPORT UNIT TESTING INTEGRATION TESTING NON FUNCTIONAL TESTING CROSSCUTTING STATIC DYNAMIC LOCAL REMOTE RQ1 What type of failures affect builds of OSS and industrial projects? X X Clean Validation Preprocessing Compilation (production) Compilation (test) Compilation (support) Testing (unit) Testing (integration) Testing (non functional) Testing (crosscutting) Packaging Static Analysis Dynamic Analysis Deployment (Local) Deployment (Remote) Documentation Release Preparation Support External Tasks Dependencies % of build failures 0% 5% 10% 15% 20% 25% 7.1% 1.4% 0.9% 0.0% 0.9% 0.5% 0.0% 0.2% 4.2% 0.8% 8.3% 0.0% 5.0% 28.0% 0.2% 1.8% 7.1% 1.3% 0.5% 0.0% 6.3% 8.8% 0.0% 21.1% 0.3% 10.0% 0.4% 0.0% 16.4% 2.1% 18.3% 2.7% 13.3% 5.2% 0.0% 2.3% 4.2% 0.0% 0.0% 0.0% Org OSS RQ2 How frequent are the different types of build failures in the observed OSS and industrial projects? Industry X