NAB: Automated Large-scale Multi-language Dynamic Program Analysis in Public Code Repositories
Analyzing today’s large code repositories has become an important research area for understanding and improving different aspects of modern software systems. Despite the presence of a large body of work on mining code repositories through static analysis, studies applying dynamic analysis to open-source projects are scarce and of limited scale. Nonetheless, being able to apply dynamic analysis to the projects hosted in public code repositories is fundamental for large-scale studies on the runtime behavior of applications, which can greatly benefit the programming-language and software-engineering communities.
In this talk, we introduce NAB, a novel framework to execute custom dynamic analysis on open-source software hosted in public repositories. NAB is fully-automatic, language-agnostic and scalable. We describe NAB’s key features and its architecture. We also present three case studies on more than 56K Node.js, Java, and Scala projects, enabling us to 1) understand how developers use JavaScript Promises, 2) identify bad coding practices in JavaScript applications, and 3) locate task-parallel Java and Scala workloads suitable for inclusion in a domain-specific benchmark suite.
Mon 21 OctDisplayed time zone: Beirut change
16:00 - 17:30 | |||
16:00 30mTalk | NAB: Automated Large-scale Multi-language Dynamic Program Analysis in Public Code Repositories NJR Andrea Rosà University of Lugano, Switzerland | ||
16:30 30mTalk | Corpus Distillation Techniques for Effective Fuzzing: A Comprehensive Evaluation NJR Tony Hosking Australian National University / Data61 | ||
17:00 30mTalk | MadMax and Friends: Program Analysis for Smart Contracts NJR Neville Grech University of Athens |