Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Thu 24 Oct 2019 14:22 - 14:45 at Attica - Corpus Studies Chair(s): Jonathan Aldrich

The main goal of a static type system is to prevent certain kinds of errors from happening at run time.
A type system is formulated as a set of constraints that gives any expression or term in a program a well-defined type.
Yet mainstream programming languages are endowed with type systems that provide the means to circumvent their constraints through casting.

We want to understand how and when developers escape the static type system to use dynamic typing.
We empirically study how casting is used by developers in more than seven thousand Java projects.
We find that casts are widely used (8.7% of methods contain at least one cast) and that 50% of casts we inspected are not guarded locally to ensure against potential run-time errors.

To help us better categorize use cases and thus understand how casts are used in practice, we identify 25 cast-usage patterns—recurrent programming idioms using casts to solve a specific issue.
This knowledge can be:
(a) a recommendation for current and future language designers to make informed decisions
(b) a reference for tool builders, e.g., by providing more precise or new refactoring analyses,
(c) a guide for researchers to test new language features, or to carry out controlled programming experiments, and
(d) a guide for developers for better practices.

Thu 24 Oct

Displayed time zone: Beirut change

14:00 - 15:30
Corpus StudiesOOPSLA at Attica
Chair(s): Jonathan Aldrich Carnegie Mellon University
14:00
22m
Talk
On the Impact of Programming Languages on Code QualityTOPLAS
OOPSLA
Emery D. Berger University of Massachusetts Amherst, Celeste Hollenbeck Northeastern University, Petr Maj Czech Technical University, Olga Vitek Northeastern University, Jan Vitek Northeastern University
Link to publication DOI Pre-print
14:22
22m
Talk
Casting about in the Dark: An Empirical Study of Cast Operations in Java Programs
OOPSLA
Luis Mastrangelo Università della Svizzera italiana, Matthias Hauswirth Università della Svizzera italiana, Nate Nystrom Università della Svizzera italiana
DOI
14:45
22m
Talk
On the Design, Implementation, and Use of Laziness in R
OOPSLA
Aviral Goel Northeastern University, Jan Vitek Northeastern University
DOI Pre-print
15:07
22m
Talk
Aroma: Code Recommendation via Structural Code SearchACM SIGPLAN Distinguished Paper Award
OOPSLA
Sifei Luan Facebook, Inc., Di Yang University of California, Irvine, Celeste Barnaby Facebook, Inc., Koushik Sen University of California, Berkeley, Satish Chandra Facebook
DOI