ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
Sat 21 Jul 2018 11:25 - 11:50 at Zurich II - Static Analysis Chair(s): Karim Ali

Modern software increasingly relies on external resources whose location or content can change during program execution. Examples of such resources include remote network hosts, database entries, dynamically updated configuration options, etc. Long running, adaptable programs must handle these changes gracefully and correctly. Dealing with all possible resource update scenarios is difficult to get right, especially if, as is common, external resources can be modified without prior warning by code and/or users outside of the application’s direct control. If a resource unexpectedly changes during a computation, an application may observe multiple, inconsistent states of the resource, leading to incorrect program behavior.

This paper presents a sound and precise static analysis, Legato, that verifies consistent access patterns for external resources. Our analysis ensures that every value computed by an application reflects a single, consistent version of every external resource’s state. Although consistent computation in the presence of concurrent resource updates is fundamentally a concurrency issue, our analysis relies on the novel at-most-once condition to avoid explicitly reasoning about concurrency. The at-most-once condition requires that all values depend on at most one access of each resource. Our analysis is flow-, field-, and context-sensitive. It scales to real-world Java programs while producing a moderate number of false positives. We applied Legato to 10 applications with dynamically updated configurations, and found several non-trivial consistency bugs.

Sat 21 Jul
Times are displayed in time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:40: ECOOP Research Papers - Static Analysis at Zurich II
Chair(s): Karim AliUniversity of Alberta
ecoop-2018-papers11:00 - 11:25
Research paper
Yannis SmaragdakisUniversity of Athens, George KastrinisUniversity of Athens
ecoop-2018-papers11:25 - 11:50
Research paper
John TomanUniversity of Washington, Seattle, Dan GrossmanUniversity of Washington
DOI Pre-print
ecoop-2018-papers11:50 - 12:15
Research paper
Ana MilanovaRensselaer Polytechnic Institute
ecoop-2018-papers12:15 - 12:40
Research paper
Neville GrechUniversity of Athens, George KastrinisUniversity of Athens, Yannis SmaragdakisUniversity of Athens