Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages
Dynamic language library developers face a challenging problem: ensuring that their libraries will behave correctly for a wide variety of client programs without having access to those client programs. This problem stems from the common use of two defining features for dynamic languages: callbacks into client code and complex manipulation of attribute names within objects. To remedy this problem, we introduce two state-spanning abstractions. To analyze callbacks, the first abstraction desynchronizes a heap, allowing partitions of the heap that may be affected by a callback to an unknown function to be frozen in the state prior to the call. To analyze object attribute manipulation, building upon an abstraction for dynamic language heaps, the second abstraction tracks attribute name/value pairs across the execution of a library.
Wed 15 AprDisplayed time zone: Azores change
16:30 - 18:00 | |||
16:30 30mTalk | Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages ESOP Arlen Cox University of Colorado Boulder, Bor-Yuh Evan Chang University of Colorado Boulder, Xavier Rival INRIA/CNRS/ENS Paris | ||
17:00 30mTalk | Fine-grained Detection of Privilege Escalation Attacks on Browser Extensions ESOP Stefano Calzavara Università Ca' Foscari Venezia, Michele Bugliesi Università Ca' Foscari Venezia, Silvia Crafa University of Padova, Enrico Steffinlongo Università Ca' Foscari Venezia | ||
17:30 30mTalk | Analysis of Asynchronous Programs with Event-Based Synchronization ESOP Michael Emmi IMDEA Software Institute, Pierre Ganty IMDEA Software Institute, Rupak Majumdar MPI-SWS, Fernando Rosa-Velardo Universidad Complutense de Madrid |