Characterising Contributions that Coincide with Vulnerability Mitigation in NPM Libraries

Ruksit Rojpaisarnkit,Hathaichanok Damrongsiri,Christoph Treude,Ali Ouni,Raula Gaikovina Kula
2024-06-17
Abstract:With the urgent need to secure supply chains among Open Source libraries, attention has focused on mitigating vulnerabilities detected in these libraries. Although awareness has improved recently, most studies still report delays in the mitigation process. This suggests that developers still have to deal with other contributions that occur during the period of fixing vulnerabilities, such as coinciding Pull Requests (PRs) and Issues, yet the impact of these contributions remains unclear. To characterize these contributions, we conducted a mixed-method empirical study to analyze NPM GitHub projects affected by 554 different vulnerability advisories, mining a total of 4,699 coinciding PRs and Issues. We believe that tool development and improved workload management for developers have the potential to create a more efficient and effective vulnerability mitigation process.
Software Engineering
What problem does this paper attempt to address?
### What problems does this paper attempt to solve? This paper aims to study the impact of other contributions (such as Pull Requests and Issues) during the vulnerability - fixing period on developers' work in the NPM (Node Package Manager) library. Specifically, the paper focuses on the following aspects: 1. **Understanding the types of concurrent contributions during vulnerability - fixing**: - The paper attempts to understand the types of other activities that developers handle simultaneously during the process of fixing vulnerabilities, such as bug - fixing, adding new features, etc. - Researchers analyze 4,699 PRs and Issues submitted during the same period as vulnerability - fixing to explore the nature of these contributions. 2. **Evaluating how developers allocate time to handle concurrent contributions**: - The paper studies how much time developers spend on handling these concurrent contributions during the vulnerability - fixing period and whether these contributions affect the speed of vulnerability - fixing. - The results show that on average, developers spend 45.89% of the vulnerability - fixing time on handling concurrent contributions. 3. **Analyzing the correlation between concurrent contributions and vulnerability - fixing**: - The paper explores whether these concurrent contributions are directly related to vulnerability - fixing, for example, whether they are handled by the same maintainer or whether security vulnerabilities are mentioned. - The results indicate that most concurrent contributions (about 67.8%) are not related to vulnerability - fixing, and only a few (2.2%) explicitly mention security issues. ### Research motivation - **Improving vulnerability - fixing efficiency**: By understanding concurrent contributions during the vulnerability - fixing period, better tools and support can be provided for developers to help them fix vulnerabilities more efficiently. - **Optimizing developer workload management**: The research results are helpful for improving developers' task management and work allocation, especially when facing urgent vulnerabilities, to ensure the rational use of resources. ### Main findings 1. **Types of concurrent contributions**: - During the vulnerability - fixing period, mainly bug - fixing (30.97%) and new - feature - adding (33.5%) are handled. - Most concurrent contributions are finally merged into the codebase. 2. **Time allocation**: - Developers on average spend 45.89% of their time on handling concurrent contributions, which shows that fixing vulnerabilities is not the only priority. 3. **Correlation**: - Only a small number of concurrent contributions (2.2%) are directly related to vulnerability - fixing, and most (67.8%) are completely unrelated. ### Practical significance - **Practitioners**: The research results show that during the vulnerability - fixing period, developers do not take vulnerability - fixing as the top priority. Therefore, it is recommended that practitioners should attach more importance to the priority of vulnerability - fixing to ensure timely problem - solving. - **Researchers**: Future research can focus more on how to optimize developers' tasks and workload management, especially in urgent situations such as vulnerability - fixing. ### Summary This paper reveals the complexity and diversity of concurrent contributions during the vulnerability - fixing period in the NPM library through empirical research and puts forward improvement suggestions to help developers handle vulnerability - fixing and other tasks more efficiently.