Automated large-scale multi-language dynamic program analysis in the wild

Alex Villazón, Haiyang Sun, Andrea Rosà, Eduardo Rosales, Daniele Bonetta, Isabella Defilippis, Sergio Oporto, Walter Binder

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Today’s availability of open-source software is overwhelming, and the number of free, ready-to-use software components in package repositories such as NPM, Maven, or SBT is growing exponentially. In this paper we address two straightforward yet important research questions: would it be possible to develop a tool to automate dynamic program analysis on public open-source software at a large scale? Moreover, and perhaps more importantly, would such a tool be useful? We answer the first question by introducing NAB, a tool to execute large-scale dynamic program analysis of open-source software in the wild. NAB is fully-automatic, language-agnostic, and can scale dynamic program analyses on open-source software up to thousands of projects hosted in code repositories. Using NAB, we analyzed more than 56K Node.js, Java, and Scala projects. Using the data collected by NAB we were able to (1) study the adoption of new language constructs such as JavaScript Promises, (2) collect statistics about bad coding practices in JavaScript, and (3) identify Java and Scala task-parallel workloads suitable for inclusion in a domain-specific benchmark suite. We consider such findings and the collected data an affirmative answer to the second question.
Original languageEnglish
Title of host publication33rd European Conference on Object-Oriented Programming, ECOOP 2019
EditorsA.F. Donaldson
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959771115
DOIs
Publication statusPublished - 1 Jul 2019
Externally publishedYes
Event33rd European Conference on Object-Oriented Programming, ECOOP 2019 - London, United Kingdom
Duration: 15 Jul 201919 Jul 2019

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
ISSN (Print)1868-8969

Conference

Conference33rd European Conference on Object-Oriented Programming, ECOOP 2019
Country/TerritoryUnited Kingdom
CityLondon
Period15/07/1919/07/19

Funding

Acknowledgements This work has been supported by Oracle (ERO project 1332), Swiss National Science Foundation (scientific exchange project IZSEZ0_177215), Hasler Foundation (project 18012), and by a Bridging Grant with Japan (BG 04-122017).

FundersFunder number
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen ForschungIZSEZ0_177215
Hasler Stiftung18012, BG 04-122017

    Fingerprint

    Dive into the research topics of 'Automated large-scale multi-language dynamic program analysis in the wild'. Together they form a unique fingerprint.

    Cite this