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

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:50 - 15:30
TestingECOOP Research Papers at Zurich II
Chair(s): Alastair F. Donaldson Imperial College London
13:50
25m
Research paper
A Characteristic Study of Parameterized Unit Tests in .NET Open Source Projects
ECOOP Research Papers
Wing Lam University of Illinois at Urbana-Champaign, Siwakorn Srisakaokul University of Illinois at Urbana-Champaign, USA, Blake Bassett University of Illinois at Urbana-Champaign, USA, Peyman Mahdian University of Illinois at Urbana-Champaign, USA, Tao Xie , Pratap Lakshman Microsoft, India, Peli de Halleux Microsoft Research
DOI
14:15
25m
Research paper
Learning to Accelerate Symbolic Execution via Code Transformation
ECOOP Research Papers
Junjie Chen Peking University, Wenxiang Hu Peking University, Lingming Zhang , Dan Hao Peking University, Sarfraz Khurshid University of Texas at Austin, Lu Zhang Peking University
DOI
14:40
25m
Research paper
Type Regression Testing to Detect Breaking Changes in Node.js Libraries
ECOOP Research Papers
Gianluca Mezzetti Aarhus University, Denmark, Anders Møller Aarhus University, Martin Toldam Torp Aarhus University
DOI
15:05
25m
Research paper
Targeted Test Generation for Actor Systems
ECOOP Research Papers
Sihan Li , Farah Hariri University of Illinois at Urbana-Champaign, Gul Agha University of Illinois at Urbana-Champaign, USA
DOI