SAS 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Tue 19 Oct 2021 13:50 - 14:05 at Zurich D - Session 3C Chair(s): David Pichardie
Tue 19 Oct 2021 21:50 - 22:05 at Zurich D - Session 3C Chair(s): Kedar Namjoshi

Data-flow analyzers (DFAs) are widely deployed in many stages of software development, such as compiler optimization, bug detection, and program verification. Automating their synthesis is non-trivial but will be practically beneficial. In this paper, we propose DFASy, a framework for the automatic synthesis of DFAs. Given a specification consisting of a control flow graph and the expected data-flow facts before and after each of its nodes, DFASy automatically synthesizes a DFA that satisfies the specification, including its flow direction, meet operator, and transfer function. DFASy synthesizes transfer functions by working with a domain-specific language that supports rich data-flow fact extraction operations, set operations, and logic operations. To avoid exploding the search space, we introduce an abstraction-guided pruning technique to assess the satisfiability of partially instantiated candidates and drop unsatisfiable ones from further consideration as early as possible. In addition, we also introduce a brevity-guided pruning technique to improve the readability and simplicity of synthesized DFAs and further accelerate the search. We have built a benchmark suite, which consists of seven classic (e.g., live variable analysis and null pointer detection) and seven custom data-flow problems. DFASy has successfully solved all the 14 data-flow problems in 21.8 seconds on average, outperforming significantly the three baselines compared. Both DFASy and its associated benchmark suite will be open-sourced.

Tue 19 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
Session 3CSAS at Zurich D +8h
Chair(s): David Pichardie Facebook Paris
13:50
15m
Talk
Automatic Synthesis of Data-Flow AnalyzersVirtual
SAS
Xuezheng Xu UNSW Sydney, Xudong Wang UNSW Sydney, Jingling Xue UNSW Sydney
14:05
15m
Talk
Disjunctive Interval AnalysisVirtual
SAS
14:20
15m
Talk
Hash Consed Points-To SetsVirtual
SAS
Mohamad Barbar University of Technology Sydney; CSIRO’s Data61, Yulei Sui University of New South Wales, Sydney
14:35
15m
Talk
Selective Context-Sensitivity for k-CFA with CFL-ReachabilityVirtual
SAS
Jingbo Lu UNSW Sydney, Dongjie He UNSW Sydney, Jingling Xue UNSW Sydney
14:50
20m
Live Q&A
Session 3C Discussion, Questions and Answers
SAS

21:50 - 23:10
Session 3CSAS at Zurich D
Chair(s): Kedar Namjoshi Nokia Bell Labs
21:50
15m
Talk
Automatic Synthesis of Data-Flow AnalyzersVirtual
SAS
Xuezheng Xu UNSW Sydney, Xudong Wang UNSW Sydney, Jingling Xue UNSW Sydney
22:05
15m
Talk
Disjunctive Interval AnalysisVirtual
SAS
22:20
15m
Talk
Hash Consed Points-To SetsVirtual
SAS
Mohamad Barbar University of Technology Sydney; CSIRO’s Data61, Yulei Sui University of New South Wales, Sydney
22:35
15m
Talk
Selective Context-Sensitivity for k-CFA with CFL-ReachabilityVirtual
SAS
Jingbo Lu UNSW Sydney, Dongjie He UNSW Sydney, Jingling Xue UNSW Sydney
22:50
20m
Live Q&A
Session 3C Discussion, Questions and Answers
SAS