Standard

Semantic versioning versus breaking changes : A study of the maven repository. / Raemaekers, Steven; Van Deursen, Arie; Visser, Joost.

Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014. Institute of Electrical and Electronics Engineers Inc., 2014. p. 215-224 6975655.

Research output: Scientific - peer-reviewConference contribution

Harvard

Raemaekers, S, Van Deursen, A & Visser, J 2014, Semantic versioning versus breaking changes: A study of the maven repository. in Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014., 6975655, Institute of Electrical and Electronics Engineers Inc., pp. 215-224, 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014, Victoria, Canada, 28-29 September. DOI: 10.1109/SCAM.2014.30

APA

Raemaekers, S., Van Deursen, A., & Visser, J. (2014). Semantic versioning versus breaking changes: A study of the maven repository. In Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014. (pp. 215-224). [6975655] Institute of Electrical and Electronics Engineers Inc.. DOI: 10.1109/SCAM.2014.30

Vancouver

Raemaekers S, Van Deursen A, Visser J. Semantic versioning versus breaking changes: A study of the maven repository. In Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014. Institute of Electrical and Electronics Engineers Inc.2014. p. 215-224. 6975655. Available from, DOI: 10.1109/SCAM.2014.30

Author

Raemaekers, Steven; Van Deursen, Arie; Visser, Joost / Semantic versioning versus breaking changes : A study of the maven repository.

Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014. Institute of Electrical and Electronics Engineers Inc., 2014. p. 215-224 6975655.

Research output: Scientific - peer-reviewConference contribution

BibTeX

@inbook{65e1249d6a7745ab947d6a029831f43b,
title = "Semantic versioning versus breaking changes: A study of the maven repository",
keywords = "Semantic versioning, Software libraries",
author = "Steven Raemaekers and {Van Deursen}, Arie and Joost Visser",
year = "2014",
month = "12",
doi = "10.1109/SCAM.2014.30",
pages = "215--224",
booktitle = "Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
address = "United States",

}

RIS

TY - CHAP

T1 - Semantic versioning versus breaking changes

T2 - A study of the maven repository

AU - Raemaekers,Steven

AU - Van Deursen,Arie

AU - Visser,Joost

PY - 2014/12/4

Y1 - 2014/12/4

N2 - For users of software libraries or public programming interfaces (APIs), backward compatibility is a desirable trait. Without compatibility, library users will face increased risk and cost when upgrading their dependencies. In this study, we investigate semantic versioning, a versioning scheme which provides strict rules on major versus minor and patch releases. We analyze seven years of library release history in Maven Central, and contrast version identifiers with actual incompatibilities. We find that around one third of all releases introduce at least one breaking change, and that this figure is the same for minor and major releases, indicating that version numbers do not provide developers with information in stability of interfaces. Additionally, we find that the adherence to semantic versioning principles has only marginally increased over time. We also investigate the use of deprecation tags and find out that methods get deleted without applying deprecated tags, and methods with deprecated tags are never deleted. We conclude the paper by arguing that the adherence to semantic versioning principles should increase because it provides users of an interface with a way to determine the amount of rework that is expected when upgrading to a new version.

AB - For users of software libraries or public programming interfaces (APIs), backward compatibility is a desirable trait. Without compatibility, library users will face increased risk and cost when upgrading their dependencies. In this study, we investigate semantic versioning, a versioning scheme which provides strict rules on major versus minor and patch releases. We analyze seven years of library release history in Maven Central, and contrast version identifiers with actual incompatibilities. We find that around one third of all releases introduce at least one breaking change, and that this figure is the same for minor and major releases, indicating that version numbers do not provide developers with information in stability of interfaces. Additionally, we find that the adherence to semantic versioning principles has only marginally increased over time. We also investigate the use of deprecation tags and find out that methods get deleted without applying deprecated tags, and methods with deprecated tags are never deleted. We conclude the paper by arguing that the adherence to semantic versioning principles should increase because it provides users of an interface with a way to determine the amount of rework that is expected when upgrading to a new version.

KW - Semantic versioning

KW - Software libraries

UR - http://www.scopus.com/inward/record.url?scp=84924868831&partnerID=8YFLogxK

U2 - 10.1109/SCAM.2014.30

DO - 10.1109/SCAM.2014.30

M3 - Conference contribution

SP - 215

EP - 224

BT - Proceedings - 2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2014

PB - Institute of Electrical and Electronics Engineers Inc.

ER -

ID: 7420202