Thu 18 Jul 2019 14:10 - 14:30 at Track 1 - Program Analysis 2

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 Jul

13:30 - 15:10: ECOOP Research Papers - Program Analysis 2 at Track 1
ecoop-2019-papers13:30 - 13:50
Research paper
George FourtounisUniversity of Athens, Yannis SmaragdakisUniversity of Athens
ecoop-2019-papers13:50 - 14:10
Research paper
Alex VillazónUniversidad Privada Boliviana, Bolivia, Haiyang SunUniversità della Svizzera italiana, Andrea RosàUniversity of Lugano, Switzerland, Eduardo RosalesUniversity of Lugano, Switzerland, Daniele BonettaOracle Labs, Isabella DefilippisUniversidad Privada Boliviana (UPB), Sergio OportoUniversidad Privada Boliviana (UPB), Walter BinderUniversity of Lugano, Switzerland
ecoop-2019-papers14:10 - 14:30
Research paper
Linghui LuoPaderborn University, Julian DolbyIBM Research, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
ecoop-2019-papers14:30 - 14:50
Research paper
Alexi TurcotteNortheastern University, Ellen ArtecaNortheastern University, Gregor RichardsUniversity of Waterloo
ecoop-2019-papers14:50 - 15:10
Research paper
Carmen Torres LopezVrije Universiteit Brussel, Robbert Gurdeep SinghUniversiteit Gent, Belgium, Stefan MarrUniversity of Kent, Elisa Gonzalez BoixVrije Universiteit Brussel, Belgium, Christophe ScholliersUniversiteit Gent, Belgium