MagpieBridge: A General Approach to Integrating Static Analyses into IDEs and Editors
In the past, many static analyses have been created in academia, but only a few of them have found widespread use in industry. Those analyses which are adopted by developers usually have IDE support in the form of plugins, without which developers have no convenient mechanism to use the analysis. Hence, the key to making static analyses more accessible to developers is to integrate the analyses into IDEs and editors. However, integrating static analyses into IDEs is non-trivial: different IDEs have different UI workflows and APIs, expertise in those matters is required to write such plugins, and analysis experts are not typically familiar with doing this. As a result, especially in academia, most analysis tools are headless and only have command-line interfaces. To make static analyses more usable, we propose MagpieBridge—a general approach to integrating static analyses into IDEs and editors. MagpieBridge reduces the mxn complexity problem of integrating m analyses into n IDEs to m+n complexity as each analysis and type of plugin needs be done just once. We demonstrate our approach by integrating two existing analyses, Ariadne and CogniCrypt, into IDEs; these two analyses illustrate the generality of MagpieBridge, as they are based on different program analysis frameworks—WALA and Soot respectively—for different application areas—machine learning and security—and different programming languages—Python and Java. We show further generality of MagpieBridge by using multiple popular IDEs and editors, such as Eclipse, IntelliJ, PyCharm, Jupyter, Atom, Sublime and even Emacs and Vim.
Thu 18 JulDisplayed time zone: Belfast change
13:30 - 15:10 | |||
13:30 20mResearch paper | Deep Static Modeling of invokedynamic Research Papers DOI Media Attached | ||
13:50 20mResearch paper | Automated Large-scale Multi-language Dynamic Program Analysis in the Wild Research Papers Alex Villazón Universidad Privada Boliviana, Bolivia, Haiyang Sun Università della Svizzera italiana, Andrea Rosà University of Lugano, Switzerland, Eduardo Rosales University of Lugano, Switzerland, Daniele Bonetta Oracle Labs, Isabella Defilippis Universidad Privada Boliviana (UPB), Sergio Oporto Universidad Privada Boliviana (UPB), Walter Binder University of Lugano, Switzerland DOI Media Attached | ||
14:10 20mResearch paper | MagpieBridge: A General Approach to Integrating Static Analyses into IDEs and Editors Research Papers Linghui Luo Paderborn University, Julian Dolby IBM Research, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM DOI Pre-print Media Attached | ||
14:30 20mResearch paper | Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language Research Papers Alexi Turcotte Northeastern University, Ellen Arteca Northeastern University, Gregor Richards University of Waterloo DOI Media Attached | ||
14:50 20mResearch paper | Multiverse Debugging: Non-deterministic Debugging for Non-deterministic Programs Research Papers Carmen Torres Lopez Vrije Universiteit Brussel, Robbert Gurdeep Singh Universiteit Gent, Belgium, Stefan Marr University of Kent, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent, Belgium DOI Media Attached |