WALA Everywhere

June 23, 2017

Julian Dolby


WALA Everywhere

Time:   11:15am
Location:   Meeting room 302 (Mountain View), level 3

The Watson Libraries for Analysis (WALA) started life as analysis for Java bytecode, but soon grew to include JavaScript and .NET bytecode as well. I shall briefly summarize this history and the design decisions that grew out of it, because those decisions enabled further expansion after WALA became open source: from Android to nodejs, WALA handles more systems, much of the work being done by the community and contributed to the open source project. I shall talk about 3 of those expansions. The first is analysis of hybrid mobile applications, in which Android bytecode and JavaScript source code are analyzed together to create a cross-language analysis result; I shall present the WALA architecture that enables such analysis and talk about how such analysis has been used so far. The second is WALA Client, in which much of WALA is run in a Web browser, including a version of our JavaScript analysis, potentially enabling live analysis of visited Web sites. I shall discuss how this is accomplished technically, and I shall show it running as part of the talk. Third, I shall discuss our ongoing work building analysis of Apple’s Swift language. Throughout this talk, I shall try to bring out how WALA design decisions made in the beginning have enabled this expansion, and how an increasing community of researchers have made it possible.