SlideShare a Scribd company logo
An Empirical Comparison of the
Development History of CloudStack
and Eucalyptus
1
Ahmed ZEROUALI, Tom MENS
Software Engineering Lab, University of Mons, Belgium
ICSDE’17 — Rabat, Morocco, July 2017
Motivation
Cloud Computing
Motivation
 Enables individual users to access their data or applications
from any device.
 Allows the organizations to reduce their capital costs by
purchasing hardware and software as a utility service.
Cloud Computing
Motivation
Motivation
Motivation
Users: Assurance about the availability and maintainability of the
solution they are adopting.
Creators: Understand how their competitors are maintaining
and improving their product.
Focus
 Popular Cloud Computing solutions.
 Development historical analysis and comparison.
 Lehman's laws of software evolution.
Research Questions
RQ1: How do open source cloud systems grow and evolve?
RQ2: How thoroughly are cloud systems tested and how does
this evolve over time?
RQ3: How do cloud system contributors manage their issue
and bug reports?
Methodology
 Hosted on
 Use
 Based on
Eucalyptus and CloudStack
Methodology
 Commit Analysis
 Source code Analysis
 Issue and bug analysis
How do open source cloud projects grow
and evolve?
How do open source cloud projects grow
and evolve?
How do open source cloud projects grow
and evolve?
Eucalyptus
CloudStack
How thoroughly are cloud systems tested
and how does this evolve over time?
How thoroughly are cloud systems tested
and how does this evolve over time?
How do cloud system contributors manage
their issue and bug reports?
How do cloud system contributors manage
their issue and bug reports?
- Issue Report Analysis
58% of Eucalyptus issues are bugs 76% of CloudStack issues are bugs
How do cloud system contributors manage
their issue and bug reports?
- Issue Report Analysis
How do cloud system contributors manage
their issue and bug reports?
- Bug Report Analysis
How do cloud system contributors manage
their issue and bug reports?
- Bug Report Analysis
How do cloud system contributors manage
their issue and bug reports?
- Bug Life Cycle Analysis
Project Bugs
Eucalyptus 9,057
CloudStack 6,235
How do cloud system contributors manage
their issue and bug reports?
- Bug Life Cycle Analysis CloudStack
How do cloud system contributors manage
their issue and bug reports?
Eucalyptus- Bug Life Cycle Analysis
Limitations
- Java Cloud systems
- Open Source Cloud Systems
- Test Coverage
Main Findings
25
• Both systems are growing in the same rate
• CloudStack has a better unit testing coverage.
• Different bug life cycles
Future Work
26
• More Cloud Systems.
• Performance and feature aspects.
• Deep bug analysis

More Related Content

PPTX
Predicting Defects Using Change Genealogies (ISSE 2013)
DOCX
Analysis of Application-Layer Filtering Policies With Application to HTTP
PPTX
WhiteSource Webinar-New Research Reveals Key Strategy to Manage Open Source S...
PPTX
SensorBench
PPTX
Mentors View: Aligning Your Team and Your Powers for Success
PDF
Open Cloud -- Future of Cloud Computing
PPTX
Le Bauer: Data Driven Model Development
PDF
Research Inventy : International Journal of Engineering and Science
Predicting Defects Using Change Genealogies (ISSE 2013)
Analysis of Application-Layer Filtering Policies With Application to HTTP
WhiteSource Webinar-New Research Reveals Key Strategy to Manage Open Source S...
SensorBench
Mentors View: Aligning Your Team and Your Powers for Success
Open Cloud -- Future of Cloud Computing
Le Bauer: Data Driven Model Development
Research Inventy : International Journal of Engineering and Science

Similar to An Empirical Comparison of the Development History of CloudStack and Eucalyptus (20)

PPTX
Using AWS, Eucalyptus and Chef for the Optimal Hybrid Cloud
PDF
Comparing open source private cloud platforms
PDF
Open nebula leading innovation in cloud computing management
PDF
Cloud orchestration major tools comparision
PPTX
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
PDF
Introduction and Overview of OpenStack for IaaS
DOCX
Creating Your Own Cloud Using OpenStack by Raghvendra V Prabhu
PDF
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
PPTX
Crash Course in Open Source Cloud Computing
PDF
Openstack devops challenges
PDF
Cloud Ubuntu Open Stack Primer
PDF
Webinar "Introduction to OpenStack"
PDF
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
PPT
Eucalyptus gnuNify 2012
PPTX
OpenStack: Why Is It Gaining So Much Traction?
PPTX
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
PPTX
Study and implementation a cloud solution based on
PPTX
Cloud Foundry and OpenStack – Marriage Made in Heaven !
PPTX
CloudDesk - Cloud operating system
PPT
Why You Should Move Dev and Test to the Cloud
Using AWS, Eucalyptus and Chef for the Optimal Hybrid Cloud
Comparing open source private cloud platforms
Open nebula leading innovation in cloud computing management
Cloud orchestration major tools comparision
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
Introduction and Overview of OpenStack for IaaS
Creating Your Own Cloud Using OpenStack by Raghvendra V Prabhu
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
Crash Course in Open Source Cloud Computing
Openstack devops challenges
Cloud Ubuntu Open Stack Primer
Webinar "Introduction to OpenStack"
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Eucalyptus gnuNify 2012
OpenStack: Why Is It Gaining So Much Traction?
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
Study and implementation a cloud solution based on
Cloud Foundry and OpenStack – Marriage Made in Heaven !
CloudDesk - Cloud operating system
Why You Should Move Dev and Test to the Cloud
Ad

More from Ahmed Zerouali (16)

PDF
Prevalence and Evolution of License Violations in npm and RubyGems Dependency...
PPTX
Analysis And Observations Of The Evolution Of Testing Library Usage
PPTX
On Popularity and Quality Metrics of npm Packages
PDF
On the Impact of Security Vulnerabilities in the npm and RubyGems Dependency ...
PDF
A multi-dimensional analysis of technical lag in Debian-based Docker images
PDF
Evolution of Technical Lag in DockerHub images - Benevol20
PDF
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
PDF
Technical Lag in Software Ecosystems
PDF
Technical lag in npm and docker ecosystems
PPTX
Analyzing Packages in Docker images hosted On DockerHub
PPTX
On the Diversity of Software Package Popularity Metrics: An Empirical Study o...
PPTX
ConPan: A Tool to Analyze Packages in Software Containers
PDF
Technical Lag in Docker Containers
PPTX
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
PPTX
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
PDF
An Empirical Analysis of Technical Lag in npm Package Dependencies
Prevalence and Evolution of License Violations in npm and RubyGems Dependency...
Analysis And Observations Of The Evolution Of Testing Library Usage
On Popularity and Quality Metrics of npm Packages
On the Impact of Security Vulnerabilities in the npm and RubyGems Dependency ...
A multi-dimensional analysis of technical lag in Debian-based Docker images
Evolution of Technical Lag in DockerHub images - Benevol20
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
Technical Lag in Software Ecosystems
Technical lag in npm and docker ecosystems
Analyzing Packages in Docker images hosted On DockerHub
On the Diversity of Software Package Popularity Metrics: An Empirical Study o...
ConPan: A Tool to Analyze Packages in Software Containers
Technical Lag in Docker Containers
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
An Empirical Analysis of Technical Lag in npm Package Dependencies
Ad

Recently uploaded (20)

PPTX
POULTRY PRODUCTION AND MANAGEMENTNNN.pptx
PDF
lecture 2026 of Sjogren's syndrome l .pdf
PDF
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
PDF
Assessment of environmental effects of quarrying in Kitengela subcountyof Kaj...
PPTX
Introcution to Microbes Burton's Biology for the Health
PPTX
A powerpoint on colorectal cancer with brief background
PPTX
BODY FLUIDS AND CIRCULATION class 11 .pptx
PDF
Cosmic Outliers: Low-spin Halos Explain the Abundance, Compactness, and Redsh...
PDF
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
PPT
THE CELL THEORY AND ITS FUNDAMENTALS AND USE
PPTX
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
PPT
Presentation of a Romanian Institutee 2.
PPTX
gene cloning powerpoint for general biology 2
PDF
Warm, water-depleted rocky exoplanets with surfaceionic liquids: A proposed c...
PPTX
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
PDF
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
PDF
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
PPTX
Welcome-grrewfefweg-students-of-2024.pptx
PDF
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
PDF
Placing the Near-Earth Object Impact Probability in Context
POULTRY PRODUCTION AND MANAGEMENTNNN.pptx
lecture 2026 of Sjogren's syndrome l .pdf
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
Assessment of environmental effects of quarrying in Kitengela subcountyof Kaj...
Introcution to Microbes Burton's Biology for the Health
A powerpoint on colorectal cancer with brief background
BODY FLUIDS AND CIRCULATION class 11 .pptx
Cosmic Outliers: Low-spin Halos Explain the Abundance, Compactness, and Redsh...
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
THE CELL THEORY AND ITS FUNDAMENTALS AND USE
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
Presentation of a Romanian Institutee 2.
gene cloning powerpoint for general biology 2
Warm, water-depleted rocky exoplanets with surfaceionic liquids: A proposed c...
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
Welcome-grrewfefweg-students-of-2024.pptx
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
Placing the Near-Earth Object Impact Probability in Context

An Empirical Comparison of the Development History of CloudStack and Eucalyptus

  • 1. An Empirical Comparison of the Development History of CloudStack and Eucalyptus 1 Ahmed ZEROUALI, Tom MENS Software Engineering Lab, University of Mons, Belgium ICSDE’17 — Rabat, Morocco, July 2017
  • 3. Motivation  Enables individual users to access their data or applications from any device.  Allows the organizations to reduce their capital costs by purchasing hardware and software as a utility service. Cloud Computing
  • 6. Motivation Users: Assurance about the availability and maintainability of the solution they are adopting. Creators: Understand how their competitors are maintaining and improving their product.
  • 7. Focus  Popular Cloud Computing solutions.  Development historical analysis and comparison.  Lehman's laws of software evolution.
  • 8. Research Questions RQ1: How do open source cloud systems grow and evolve? RQ2: How thoroughly are cloud systems tested and how does this evolve over time? RQ3: How do cloud system contributors manage their issue and bug reports?
  • 9. Methodology  Hosted on  Use  Based on Eucalyptus and CloudStack
  • 10. Methodology  Commit Analysis  Source code Analysis  Issue and bug analysis
  • 11. How do open source cloud projects grow and evolve?
  • 12. How do open source cloud projects grow and evolve?
  • 13. How do open source cloud projects grow and evolve? Eucalyptus CloudStack
  • 14. How thoroughly are cloud systems tested and how does this evolve over time?
  • 15. How thoroughly are cloud systems tested and how does this evolve over time?
  • 16. How do cloud system contributors manage their issue and bug reports?
  • 17. How do cloud system contributors manage their issue and bug reports? - Issue Report Analysis 58% of Eucalyptus issues are bugs 76% of CloudStack issues are bugs
  • 18. How do cloud system contributors manage their issue and bug reports? - Issue Report Analysis
  • 19. How do cloud system contributors manage their issue and bug reports? - Bug Report Analysis
  • 20. How do cloud system contributors manage their issue and bug reports? - Bug Report Analysis
  • 21. How do cloud system contributors manage their issue and bug reports? - Bug Life Cycle Analysis Project Bugs Eucalyptus 9,057 CloudStack 6,235
  • 22. How do cloud system contributors manage their issue and bug reports? - Bug Life Cycle Analysis CloudStack
  • 23. How do cloud system contributors manage their issue and bug reports? Eucalyptus- Bug Life Cycle Analysis
  • 24. Limitations - Java Cloud systems - Open Source Cloud Systems - Test Coverage
  • 25. Main Findings 25 • Both systems are growing in the same rate • CloudStack has a better unit testing coverage. • Different bug life cycles
  • 26. Future Work 26 • More Cloud Systems. • Performance and feature aspects. • Deep bug analysis

Editor's Notes

  • #3: Cloud Computing is where data, software and applications , or computer processing power are accessed from a cloud of online resources.
  • #4: Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service.
  • #5: Today there are many commercial tools that provide Cloud computing services, such as amazon’s services….
  • #6: Also there are many existing open-source solutions like Eucalyptus, Cloudstack, OpenStack, OpenNebula, which enable users run programs on their own resources and provides a detailed view of what would otherwise be the black box of cloud-computing services. The use of these open source has grown dramatically in recent times, So because like any other software system, cloud solutions are subject to frequent evolution, and may suffer from bugs and other quality problems that may affect the user experience. And In order to improve service quality infrastructure planning, and selection of the right software solutions. users and cloud creators need to evaluate and compare the performance of the features offered by competing platforms.
  • #7: Cloud users need assurance about the availability and maintainability of the solution they are adopting, while cloud creators need to understand how their competitors are maintaining and improving their product.
  • #8: That’s why we decided to focus on the quality aspects of cloud computing solutions. In this study we focused on the historical analysis and comparison of the development of this two systems. And based on Lehman’s laws of software evolution we identified our research questions.
  • #9: First: Second: And lastly
  • #10: In the beginning and To determine the most appropriate cloud solutions for our analysis we searched for the most popular open source projects that use the same programming language for their development, and that use the same issue and bug tracker, and that are hosted on the same version control system. And we found Eucalyptus and Cloudstack to be considered as they are both hosted on Github and use the Jira… and developped essentialy with Java.
  • #11: Next, To enable historical analysis of the co-evolution of the source code and unit test code in the considered projects, we created a local clone of their GitHub repository. And we extracted all the available informations about all issues reported on the Jira issue tracker and then we analysed that .
  • #12: So, first, and in order to know ……….. we analysed the commit history on GitHub for both considered projects since their first commit and until March 2017. First of all, we notice that CloudStack appears to be twice as big as Eucalyptus, even if the latter is older than the first. Eucalyptus started with a limited number of files, while CloudStack started with a big number of files since the first commit, which can be explained by the fact that CloudStack was already in development before coming to GitHub in August 2010. -Eucalyptus was split into two editions, open-core and open source. But after July 2011, when Citrix purchased Cloud.com, the number of files of the CloudStack system decreased, to start increasing again after the donation of the project to the Apache Software Foundation in April 2012. -However, Java les are the main artefact aecting the growth of both projects. For both systems, the number of Java les started with 50% of all les, and ended up to 70%
  • #13: To understand how active is the community of both projects, we calculated the number of added and changed les of any type, and the Java les in particular, as well as the number of developers participating in development in each month.
  • #14: For both systems we found that the edited les in most times, are les related to programming (i.e., Java les). However, we noticed that some unusual but expected activities happened after some events, related to the project management. For example, when Eucalyptus returned to be fully open source in June 2012, a large number of les was added to the project, and after CloudStack became a Top-Level Project of Apache in March 2013 and released the rst stable version after graduation, a high number of les, mostly Java les, was edited.
  • #15: we focused on unit tests only, and compared test coverage in CloudStack and Eucalyptus. Both systems make use of software libraries that support unit testing. While CloudStack uses the frameworks Spring, TestNG and JUnit , Eucalyptus only uses JUnit . -To calculate the number of tested Java classes, for each Java file, excluding Java files that contain test cases, we extracted the Java classes inside and we analysed them. We observe that the number of tested Java classes in CloudStack is increasing over time. Until 2013, only 10% of Java classes were tested, but after the release of the first stable version, this number changed to achieve 74% in 2017. However, in 2013, only 1.7% of all Java files in CloudStack were test files, this number slightly changed to become 10% in 2017. -For Eucalyptus, only a small portion of Java classes were tested across the system lifetime, the maximum was in December 2016 with 4% of all classes. - These results reect that CloudStack is following a good test-driven development approach.
  • #16: - In order to know how many developers participated in unit testing development, for each year we calculated for each Java test file, the number of developers that participated in its development. - We observe that the number of CloudStack developers participating in test code is high, the maximum number was in 2013 with 65 different developers. While for Eucalyptus, only a maximum of 8 different developers worked on Java test files in 2014.
  • #17: We analysed the publicly available issue reports of CloudStack and Eucalyptus found on the Jira issue tracker since 2012.
  • #18: - In Eucalyptus, 72% of all issues have a Major priority. 49% of these issues and 58% of all issues are bugs. With 55%, the percentage of the Major issues in CloudStack is less than in its competitor, but the percentage of bugs of this proportion is higher than in Eucalyptus with 67%, and 76% of all issues. For the other priorities, for both projects, the percentage of bugs is higher than 70%
  • #19: After that we Compared between the considered projects, the distribution of the time between the creation date and the last update of a closed issue across all found issues. -And we found that for the issues related to new features and improvements, there is no signicant difference between the time that CloudStack and Eucalyptus issues take before being closed. - We also found that The bug issues in CloudStack take less time before closing them than the bugs in Eucalyptus. To conrm our observations, and to confirm that we carried out a one-sided Mann-Whitney.
  • #20: We also studied the evolution of the number of bugs created over time for both Eucalyptus and CloudStack. We observed that for both projects, the number of bugs reported over time tends to decrease. The highest number of bugs was found in 2013 for CloudStack and in early 2014 for Eucalyptus. The number of bugs decreased faster in CloudStack, from 600 created bugs per month in 2013 to 50 bugs per month in 2016. This can perhaps be explained by the testing approach that CloudStack has pursued after 2013.
  • #21: And next For each bug report, we extracted and calculated the number of participants. - We found that the number of participants in bug handling for Eucalyptus is higher than in CloudStack. And We statistically tested and confirmed this hypothesis with a one-sided Mann-Whitney U test
  • #22: After that, and In order to analyze the bug life cycle for both considered projects in this study, for each bug we extracted the history of all state transitions of the bug report. Then we generated a generic bug life cycle with the mean time that a bug takes to remain in each state, considering the most repeated life cycles of more than 9,000 bugs in Eucalyptus and 6,000 bugs in CloudStack.
  • #23: - We found that both cloud systems have dierent bug life cycles even if they use the same issue tracker - As shown in this figure, CloudStack has a generic bug life cycle with a few number of states. Most bugs in CloudStack follow the transition sequence: Open ! Resolved ! Closed.
  • #24: While a typical bug life cycle in Eucalyptus adopts the following sequence: Unconfirmed ! Confirmed ! In Progress ! [In Re-view] ! In QA ! Release Pending ! Resolved ! Closed. This longer life cycle might explain why it takes longer, on average, for bug reports in Eucalyptus to reach the Closed status. It also implies that the number of participants involved in a bug x tends to be higher that for CloudStack.
  • #25: Our results may not be generalisable to non-Java cloud solutions or to closed-source industrial cloud solutions that are typically subject to more restricted development rules. - In our approach we assume that a Java class is being tested if at least one of its methods is tested, which may lead to false positives, since a Java class can have many methods that together provide the functionality offered by this class.
  • #26: To conclude, We analysed two popular and competitive open source cloud computing solutions developed in Java, namely CloudStack and Eucalyptus, based on data about their development history extracted from the GitHub code versioning tool and its associated Jira issue tracker. And We observed: - that, initially, CloudStack was growing differently, but in the last two years it started growing at the same rate as Eucalyptus. We also found that CloudStack has a good testing approach with a better unit testing coverage than Eucalyptus. -We also found that the studied systems have dierent bug life cycles and take dierent times to resolve and close a bug. These ndings are potentially useful to the developer communities responsible for these cloud solutions for improving development and testing activities, as well as for researchers and new contributors so they can learn from past experiences.
  • #27: In future work, we will extend our comparison to include more systems like OpenStack and OpenNebula, that use different programming languages like Python and C++, and we will also take into consideration the performance and feature aspects. We will also carry out a more fine-grained bug analysis considering the messages.