Reliability Analysis of ONOS Releases based onCode Metrics and SRGM
Software Defined Networking (SDN) separates the control and data planes.Control plane can be considered as the brain of the network and it is responsible for configuring flows, finding paths and managing all the network functionalities like firewall, load balancing, etc. For this reason, the SDN controller became complex. Furthermore, it is a large software platform, which have many contributors with different experience level. As a result the code contains many undetected and unresolved bugs. If one of these bugs is activated in the operational state, it may cause performance degradation or even collapse of the whole system.
SDN serves to broad range of applications with different requirements. Some of the application areas like autonomous driving requires high reliability and performance degradation may cause undesired results. Software Reliability Growth Models (SRGM) are statistical frameworks that are based on historical bug reports for reliability analysis and widely used to estimate the reliability of a software. Open network operating system (ONOS) is an open source project and it became one of the most popular SDN platforms. Its historical bug reports are open in their JIRA issue tracker. Currently ONOS has 23 releases, its first ten versions are investigated with different SRGM models  and found that different SRGMs fit to the bug detection of different versions of ONOS.
Source code metrics refer to quantitative characteristics of the code. Those metrics can describe the size of the code (lines of code), complexity of code (McCabe’s complexity), etc. They have been used to predicting the number of bugs, identifying possible potential location of bug, etc.
The goal of this work is to analyse the reliability of different ONOS releases. For that purpose, an understanding of the correlation between the structure of source code and the bug manifestation process is crucial to predict the future bug manifestation of the new releases. First, a state of the art research on the SRGM will be done to understand the software reliability and SRGMs. Afterwards the student should implement different SRGMs to fit the error manifestation of every release and compare the results with mentioned research . Then, different code metrics will be obtained from each ONOS release. Then, the correlation between SRGM and code metrics will be revealed. At last reliability of the release will be analyzed with the best fitting SRGM. The result of this work will be to propose a reliability metric combining SRGM and code metrics that improves the software reliability prediction.
P. Vizarreta, K. Trivedi, B. Helvik, P. Heegaard, W. Kellerer, and C. Mas Machuca, An empirical study of software reliability in SDN controllers, 13th International Conference on Network and Service Management (CNSM), 2017.