# Survivability Prediction of Open Source Software with Polynomial Regression
## 2 Background  
### Survivability Prediction  
The survivability of OSS, also known as sustainability, refers to whether an OSS will continue to exist in the future or fail [11]. We define indicators of survival and failure based on the level of activity in development and maintenance. Our research aims to predict the survivability to prevent increased costs due to maintenance stopping for open source users. Therefore, from the user's perspective, survivability means continued development and maintenance in the future, including addressing new bug fixes and supporting the latest programming language versions. As such, we set the criterion for survivability based on the maintenance of OSS. Software maintainability refers to the ease with which software can be modified, updated, and repaired over time [12]. Maintainability is an important factor in the long-term success of a software system. If maintainability is low, it becomes difficult to ensure that the system will continue to meet user requirements over time. Therefore, to maintain the quality of the software, high maintainability must be ensured. However, maintainability can be affected by the following factors:  
* **Project dependency**: Software development projects can have dependencies on other systems or components. These dependencies can cause maintenance to be more difficult if failures in other systems affect the main system. * **Change management**: Changes to software or dependencies must be managed to ensure that new issues do not arise. This is necessary to minimize the impact of changes on the system. * **Documentation**: Documentation can provide a clear understanding of software design, functionality, and dependencies, making maintenance tasks easier. Clear documentation can also facilitate knowledge transfer among team members and prevent important information from being lost over time. * **Testing**: Regular testing is essential to ensure that the software continue to function and meet user requirements. This includes unit testing, integration testing, and acceptance testing, among others. * **Security and compliance**: Security and compliance requirements may change over time, so existing software must be updated and maintained to meet new requirements. In addition to the five factors mentioned above, project dependency directly influences maintenance in OSS projects. Therefore, we focus on bugs and the activity of fixing them, as they are factors that trigger project dependency. To compare with other studies that use different indicators, the main distinguishing features of our approach are as follows in Table 1.  
[PERSON] et al. [8] provide insights into the survivability of OSS by identifying the point at which GitHub projects are no longer maintained. This research was conducted to effectively identify such instances, given that not all projects on GitHub are consistently maintained. Their goal was to accurately predict the maintenance status of GitHub projects, and to achieve this, they analyzed project data such as commits, forks, issues, and pull requests to predict the project's status. Their work enables users to identify unmaintained projects, allowing for the selection of more stable OSS. [PERSON] et al. [9] offer significant insights into the survivability and sustainability of projects by predicting the development and evolution of repositories. The continuous evolution of a repository indicates the project's potential for sustainability, thereby facilitating the identification of its survivability. Their research aimed at developing a model that accurately predicts the changes and development within a repository. To this end, they analyzed historical repository data to predict future event sequences and the timing of each event. This approach allowed them to predict not only development activities but also external influences like popularity. [PERSON] et al. [10] provide the crucial indicators of a project's level of activity and survivability by predicting its commit activities.