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 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: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:50 - 15:30: ECOOP Research Papers - Testing at Zurich II
Chair(s): Alastair DonaldsonImperial College London
ecoop-2018-papers13:50 - 14:15
Research paper
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
ecoop-2018-papers14:15 - 14:40
Research paper
Junjie ChenPeking University, Wenxiang HuPeking University, Lingming Zhang, Dan HaoPeking University, Sarfraz KhurshidUniversity of Texas at Austin, Lu ZhangPeking University
ecoop-2018-papers14:40 - 15:05
Research paper
Gianluca MezzettiAarhus University, Denmark, Anders MøllerAarhus University, Martin Toldam TorpAarhus University
ecoop-2018-papers15:05 - 15:30
Research paper
Sihan Li, Farah HaririUniversity of Illinois at Urbana-Champaign, Gul AghaUniversity of Illinois at Urbana-Champaign, USA