Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

A Machine Learning Approach to Determine the Semantic Versioning Type of NPM Packages Releases

View through CrossRef
Semantic versioning policy is widely used to indicate the level of changes in a package release. Unfortunately, there are many cases where developers do not respect the semantic versioning policy, leading to the breakage of dependent applications. To reduce such cases, we proposed using ML techniques to effectively predict the new release type, i.e., patch, minor, major, in order to properly determine the semantic versioning type. To perform our prediction, we mined and used a number of features about a release, such as the complexity of the changed code, change types, and development activities. To evaluate the performance of the proposed ML classifiers, we conducted an empirical study on 31 packages containing a total of approximately 6,260 releases. We extracted 41 release-level features from historical data of packages’ source code and repositories. We used four ML classifiers. We found that the XGBoost classifiers performed the best. We also found that features related to the change types in a release are the best predictors group of features in determining the semantic versioning type. Finally, we studied the generalizability of determining the semantic versioning type by applying cross-package validation. Our results showed that the general classifier achieved a good performance.
Elsevier BV
Title: A Machine Learning Approach to Determine the Semantic Versioning Type of NPM Packages Releases
Description:
Semantic versioning policy is widely used to indicate the level of changes in a package release.
Unfortunately, there are many cases where developers do not respect the semantic versioning policy, leading to the breakage of dependent applications.
To reduce such cases, we proposed using ML techniques to effectively predict the new release type, i.
e.
, patch, minor, major, in order to properly determine the semantic versioning type.
To perform our prediction, we mined and used a number of features about a release, such as the complexity of the changed code, change types, and development activities.
To evaluate the performance of the proposed ML classifiers, we conducted an empirical study on 31 packages containing a total of approximately 6,260 releases.
We extracted 41 release-level features from historical data of packages’ source code and repositories.
We used four ML classifiers.
We found that the XGBoost classifiers performed the best.
We also found that features related to the change types in a release are the best predictors group of features in determining the semantic versioning type.
Finally, we studied the generalizability of determining the semantic versioning type by applying cross-package validation.
Our results showed that the general classifier achieved a good performance.

Related Results

The New Public Management and Public Management Studies
The New Public Management and Public Management Studies
The New Public Management (NPM) is a major and sustained development in the management of public services that is evident in some major countries. Its rise is often linked to broad...
Abstract 1714: A novel NPM-BAX pathway regulates death evasion and drug sensitivity in human hepatoma cells.
Abstract 1714: A novel NPM-BAX pathway regulates death evasion and drug sensitivity in human hepatoma cells.
Abstract Death evasion is crucial for both carcinogenesis and resistance to anticancer therapies. Recently we identified nucleophosmin (NPM) as a key factor countera...
Prolactin And Non-Puerperal Mastitis: A Cohort Study Using Real-World Data
Prolactin And Non-Puerperal Mastitis: A Cohort Study Using Real-World Data
Abstract Objective Non-puerperal mastitis (NPM) is an umbrella term for non-specific inflammatory mastitis inflammation with unclear etiology. The objective of the current...
The role of the nuclear protein matrix during development of rabbit gr anulocytes
The role of the nuclear protein matrix during development of rabbit gr anulocytes
A proteinaceous nuclear substructure (nuclear protein matrix or nuclear pore complex-lamina) has been described in a number of cells and may be a universal feature of cell nuclei. ...
The role of the nuclear protein matrix during development of rabbit gr anulocytes
The role of the nuclear protein matrix during development of rabbit gr anulocytes
Abstract A proteinaceous nuclear substructure (nuclear protein matrix or nuclear pore complex-lamina) has been described in a number of cells and may be a universal ...
Causality-based versioning
Causality-based versioning
Versioning file systems provide the ability to recover from a variety of failures, including file corruption, virus and worm infestations, and user mistakes. However, using version...
TABular Semantic Enhancement Blueprint (TAB-SEB) v1
TABular Semantic Enhancement Blueprint (TAB-SEB) v1
Project website link: https://ariannamorettj.github.io/tab_seb/ Overview Purpose. The workflow blueprint supports semantic enhancement of Cultural Heritage and GLAM metadata by c...
CREATING LEARNING MEDIA IN TEACHING ENGLISH AT SMP MUHAMMADIYAH 2 PAGELARAN ACADEMIC YEAR 2020/2021
CREATING LEARNING MEDIA IN TEACHING ENGLISH AT SMP MUHAMMADIYAH 2 PAGELARAN ACADEMIC YEAR 2020/2021
The pandemic Covid-19 currently demands teachers to be able to use technology in teaching and learning process. But in reality there are still many teachers who have not been able ...

Back to Top