Wed 25 May 2016 11:30 - 12:00 at Snijderszaal - Session 2 Chair(s): Yannis Smaragdakis

In dynamically typed programming languages, type errors can occur at runtime. Executing the test suites that often accompany programs may provide some confidence about absence of such errors, but generally without any guarantee. We present a program analysis that can check whether a test suite has sufficient coverage to prove a given type-related property, which is particularly challenging for program code with overloading and value dependent types. The analysis achieves a synergy between scalable static analysis and dynamic analysis that goes beyond what can be accomplished by the static analysis alone. Additionally, the analysis provides a new coverage adequacy metric for the completeness of a test suite regarding a family of type-related properties.

Based on an implementation for Dart, we demonstrate how such a hybrid static/dynamic program analysis can be used for measuring the quality of a test suite with respect to showing absence of type errors and inferring sound call graph information, specifically for program code that is difficult to handle by traditional static analysis techniques.

Associate Professor at Department of Computer Science, Aarhus University, Denmark

Wed 25 May

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

11:00 - 12:30
Session 2Workshop at Snijderszaal
Chair(s): Yannis Smaragdakis University of Athens
11:00
30m
Talk
Delegation isn't quite inheritance
Workshop
James Noble Victoria University of Wellington
11:30
30m
Talk
Analyzing Test Completeness for Dynamic Languages
Workshop
Anders Møller Aarhus University
12:00
30m
Talk
Principled Language Design
Workshop