ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
Thu 19 Jul 2018 14:40 - 15:05 at Zurich II - Testing Chair(s): Alastair F. Donaldson

The npm repository contains JavaScript libraries that are used by millions of software developers. Its semantic versioning system relies on the ability to distinguish between breaking and non-breaking changes when libraries are updated. However, the dynamic nature of JavaScript often causes unintended breaking changes to be detected too late, which undermines the robustness of the applications.

We present a novel technique, type regression testing, to automatically determine whether an update of a library implementation affects the types of its public interface, according to how the library is being used by other npm packages. By leveraging available test suites of clients, type regression testing uses a dynamic analysis to learn models of the library interface. Comparing the models before and after an update effectively amplifies the existing tests by revealing changes that may affect the clients.

Experimental results on widely used libraries show that the technique can identify type-related breaking changes with high accuracy. It fully automatically classifies at least 89% of the updates correctly as either major or as minor or patch, and it detects 25 breaking changes among the minor and patch updates.

Thu 19 Jul
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:50 - 15:30
TestingECOOP Research Papers at Zurich II
Chair(s): Alastair F. DonaldsonImperial College London
13:50
25m
Research paper
A Characteristic Study of Parameterized Unit Tests in .NET Open Source Projects
ECOOP Research Papers
Wing LamUniversity of Illinois at Urbana-Champaign, Siwakorn SrisakaokulUniversity of Illinois at Urbana-Champaign, USA, Blake BassettUniversity of Illinois at Urbana-Champaign, USA, Peyman MahdianUniversity of Illinois at Urbana-Champaign, USA, Tao Xie, Pratap LakshmanMicrosoft, India, Peli de HalleuxMicrosoft Research
DOI
14:15
25m
Research paper
Learning to Accelerate Symbolic Execution via Code Transformation
ECOOP Research Papers
Junjie ChenPeking University, Wenxiang HuPeking University, Lingming Zhang, Dan HaoPeking University, Sarfraz KhurshidUniversity of Texas at Austin, Lu ZhangPeking University
DOI
14:40
25m
Research paper
Type Regression Testing to Detect Breaking Changes in Node.js Libraries
ECOOP Research Papers
Gianluca MezzettiAarhus University, Denmark, Anders MøllerAarhus University, Martin Toldam TorpAarhus University
DOI
15:05
25m
Research paper
Targeted Test Generation for Actor Systems
ECOOP Research Papers
Sihan Li, Farah HaririUniversity of Illinois at Urbana-Champaign, Gul AghaUniversity of Illinois at Urbana-Champaign, USA
DOI