We present jumping, a form of selective control-flow abstraction useful for improving the scalability of goal-directed static analyses. Jumping is useful for analyzing programs with complex control-flow such as event-driven systems. In such systems, accounting for orderings between certain events is important for precision, yet analyzing the product graph of all possible event orderings is intractable. Jumping solves this problem by allowing the analysis to selectively abstract away control-flow between events irrelevant to a goal query while preserving information about the ordering of relevant events. We present a framework for designing sound jumping analyses and create an instantiation of the framework for per- forming precise inter-event analysis of Android applications. Our experimental evaluation showed that using jumping to augment a precise goal-directed analysis with inter-event reasoning enabled our analysis to prove 90–97% of dereferences safe across our benchmarks.
Wed 28 Oct Times are displayed in time zone: Eastern Time (US & Canada) change
13:30 - 15:00: 3. VerificationOOPSLA at Grand Station 1 Chair(s): Guangtai LiangIBM Research - China | |||
13:30 - 13:52 Talk | Conditionally Correct Superoptimization OOPSLA Rahul SharmaStanford University, Eric SchkufzaStanford University, Berkeley ChurchillStanford University, Alex AikenStanford University DOI | ||
13:52 - 14:15 Talk | Selective Control-Flow Abstraction via Jumping OOPSLA Sam BlackshearUniversity of Colorado at Boulder, USA, Bor-Yuh Evan ChangUniversity of Colorado at Boulder, USA, Manu SridharanSamsung Research America Link to publication | ||
14:15 - 14:37 Talk | Automating Grammar Comparison OOPSLA Ravichandhran MadhavanEPFL, Switzerland, Mikaël MayerEPFL, Switzerland, Sumit GulwaniMicrosoft Research, USA, Viktor KunčakEPFL, Switzerland Link to publication | ||
14:37 - 15:00 Talk | Reasoning about the POSIX File System: Local Update and Global Pathnames OOPSLA DOI |