Detecting Locations in JavaScript Programs Affected by Breaking Library Changes
Wed 18 Nov 2020 01:40 - 02:00 at SPLASH-I - T-4 Chair(s): Sophia Drossopoulou, Julien Lange
JavaScript libraries are widely used and evolve rapidly. When adapting client code to non-backwards compatible changes in libraries, a major challenge is how to locate affected API uses in client code, which is currently a difficult manual task. In this paper we address this challenge by introducing a simple pattern language for expressing API access points and a pattern-matching tool based on lightweight static analysis.
Experimental evaluation on 15 popular npm packages shows that typical breaking changes are easy to express as patterns. Running the static analysis on 265 clients of these packages shows that it is accurate and efficient: it reveals usages of breaking APIs with only 14% false positives and no false negatives, and takes less than a second per client on average. In addition, the analysis is able to report its confidence, which makes it easier to identify the false positives. These results suggest that the approach, despite its simplicity, can reduce the manual effort of the client developers.
Tue 17 NovDisplayed time zone: Central Time (US & Canada) change
13:00 - 14:20 | T-4OOPSLA at SPLASH-I +12h Chair(s): Michael Pradel University of Stuttgart, Germany, Sophia Drossopoulou Imperial College London | ||
13:00 20mTalk | A Structural Model for Contextual Code Changes OOPSLA Link to publication DOI Pre-print Media Attached | ||
13:20 20mTalk | A Systematic Approach to Deriving Incremental Type Checkers OOPSLA André Pacak JGU Mainz, Sebastian Erdweg University of Mainz, Tamás Szabó University of Mainz / itemis Link to publication DOI Media Attached | ||
13:40 20mTalk | Detecting Locations in JavaScript Programs Affected by Breaking Library Changes OOPSLA Anders Møller Aarhus University, Benjamin Barslev Nielsen Aarhus University, Martin Toldam Torp Aarhus University Link to publication DOI Pre-print Media Attached | ||
14:00 20mTalk | A Type-and-Effect System for Object Initialization OOPSLA Fengyun Liu EPFL, Ondřej Lhoták University of Waterloo, Aggelos Biboudis EPFL, Paolo G. Giarrusso Delft University of Technology, Martin Odersky EPFL Link to publication DOI Media Attached |
Wed 18 NovDisplayed time zone: Central Time (US & Canada) change
01:00 - 02:20 | T-4OOPSLA at SPLASH-I Chair(s): Sophia Drossopoulou Imperial College London, Julien Lange Royal Holloway University of London | ||
01:00 20mTalk | A Structural Model for Contextual Code Changes OOPSLA Link to publication DOI Pre-print Media Attached | ||
01:20 20mTalk | A Systematic Approach to Deriving Incremental Type Checkers OOPSLA André Pacak JGU Mainz, Sebastian Erdweg University of Mainz, Tamás Szabó University of Mainz / itemis Link to publication DOI Media Attached | ||
01:40 20mTalk | Detecting Locations in JavaScript Programs Affected by Breaking Library Changes OOPSLA Anders Møller Aarhus University, Benjamin Barslev Nielsen Aarhus University, Martin Toldam Torp Aarhus University Link to publication DOI Pre-print Media Attached | ||
02:00 20mTalk | A Type-and-Effect System for Object Initialization OOPSLA Fengyun Liu EPFL, Ondřej Lhoták University of Waterloo, Aggelos Biboudis EPFL, Paolo G. Giarrusso Delft University of Technology, Martin Odersky EPFL Link to publication DOI Media Attached |