Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2019
DOI: 10.1145/3338906.3338940
|View full text |Cite
|
Sign up to set email alerts
|

Model-based testing of breaking changes in Node.js libraries

Abstract: Semantic versioning is widely used by library developers to indicate whether updates contain changes that may break existing clients. Especially for dynamic languages like JavaScript, using semantic versioning correctly is known to be difficult, which often causes program failures and makes client developers reluctant to switch to new library versions. The concept of type regression testing has recently been introduced as an automated mechanism to assist the JavaScript library developers. That mechanism is eff… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 23 publications
(14 citation statements)
references
References 22 publications
0
14
0
Order By: Relevance
“…They compute operational abstractions based on input/output behaviour to test whether a new component can replace an old one. M0ller and Torp [12] proposed a model-based testing approach to identify type-regression problems that result in breaking changes in JavaScript libraries. These works deal with improvements and repairs applied to a package repository or library, and thus have a different focus compared to SHIPWRIGHT, which is on repairing broken Dockerfiles.…”
Section: Empirical Studies On Docker (And Devops)mentioning
confidence: 99%
“…They compute operational abstractions based on input/output behaviour to test whether a new component can replace an old one. M0ller and Torp [12] proposed a model-based testing approach to identify type-regression problems that result in breaking changes in JavaScript libraries. These works deal with improvements and repairs applied to a package repository or library, and thus have a different focus compared to SHIPWRIGHT, which is on repairing broken Dockerfiles.…”
Section: Empirical Studies On Docker (And Devops)mentioning
confidence: 99%
“…Updating library dependencies in projects. To assist developers with updating dependencies in projects, researchers have studied practices around updating dependencies [3,16,2,60,26,27] and proposed tools leveraging both static-and dynamic analysis [6,4,61]. Kula et al [3] empirical study of 2, 700 library dependencies in 4, 600 Java project found that 81.5% remain outdated, even with security problems.…”
Section: Related Workmentioning
confidence: 99%
“…Inspired by previous work to detect breaking changes in npm package updates [29,31], we propose using an access path mechanism for specifying contact points. An access path, or short ap, can be described as an S-expression, which is read from the innermost expression outwards.…”
Section: Specifying Contact Pointsmentioning
confidence: 99%
“…Our hypothesis is that these inputs are representative for most of the library usages in the wild. Related work employs similar assumptions [29,31].…”
Section: Limitationsmentioning
confidence: 99%
See 1 more Smart Citation