Static analyses aspire to explore all possible executions in order to achieve soundness. Yet, in practice, they fail to capture common dynamic behavior. Enhancing static analyses with dynamic information is a common pattern, with tools such as Tamiflex. Past approaches, however, miss significant portions of dynamic behavior, due to native code, unsupported features (e.g., invokedynamic or lambdas in Java), and more. We present techniques that substantially enhance the soundness of a static analysis, with virtually no intrusion to the analysis logic. Our approach is reified in the HeapDL tool and consists in taking whole-heap snapshots during program execution, enriched in such a way that they capture significant aspects of dynamic behavior, regardless of the causes of such behavior. The snapshots are then used as extra inputs to the static analysis. The approach exhibits both portability and significantly increased soundness. Heap information under one set of dynamic inputs allows a static analysis to be much more sound for other inputs. A HeapDL-enhanced static analysis of the DaCapo benchmarks computes 99.5% (median) of the call-graph edges of unseen dynamic executions (vs. 76.9% for the Tamiflex tool).
Wed 25 Oct Times are displayed in time zone: Tijuana, Baja California change
15:30 - 17:00: Dynamic AnalysisOOPSLA at Regency C Chair(s): Jonathan AldrichCarnegie Mellon University | |||
15:30 - 15:52 Talk | Practical Initialization Race Detection for JavaScript Web Applications OOPSLA Christoffer Quist AdamsenAarhus University, Anders MøllerAarhus University, Frank TipNortheastern University DOI | ||
15:52 - 16:15 Talk | Instrumentation Bias for Dynamic Data Race Detection OOPSLA Benjamin P. WoodWellesley College, Man CaoOhio State University, Michael D. BondOhio State University, Dan GrossmanUniversity of Washington DOI | ||
16:15 - 16:37 Talk | Efficient Logging in Non-Volatile Memory by Exploiting Coherency Protocols OOPSLA DOI | ||
16:37 - 17:00 Talk | Heaps Don't Lie: Countering Unsoundness with Heap Snapshots OOPSLA Neville Grech, George FourtounisUniversity of Athens, Adrian FrancalanzaUniversity of Malta, Yannis SmaragdakisUniversity of Athens DOI |