SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Wed 20 Oct 2021 08:25 - 08:40 at Zurich C - Analysis - mirror Chair(s): Constantin Enea
Wed 20 Oct 2021 16:25 - 16:40 at Zurich C - Analysis Chair(s): Julian Dolby

Static checker frameworks support software developers by automatically
discovering bugs that fit general-purpose bug patterns. These frameworks ship
with hundreds of detectors for such patterns and allow developers to add custom
detectors for their own projects. However, existing frameworks generally
encode detectors in imperative specifications, with extensive details of not
only \emph{what} to detect but also \emph{how}. These details complicate
detector maintenance and evolution, and also interfere with the
framework's ability to change how detection is done, for instance, to make the
detectors incremental.

In this paper, we present \textsc{JavaDL}, a Datalog-based declarative specification
language for bug pattern detection in Java code. \textsc{JavaDL} seamlessly supports both
exhaustive and incremental evaluation from the same detector specification.
This specification allows developers to describe local detector components
via \emph{syntactic pattern matching}, and nonlocal (e.g., interprocedural)
reasoning via \emph{Datalog-style logical rules}.

We compare our approach against the well-established SpotBugs and Error Prone
tools by re-implementing several of their detectors in \textsc{JavaDL}. We find that
our implementations are substantially smaller and similarly effective at
detecting bugs on the Defects4J benchmark suite, and run with competitive
runtime performance. In our experiments, neither incremental nor exhaustive
analysis can consistently outperform the other, which
highlights the value of our ability to transparently switch execution modes.
We argue that our approach showcases the potential of \emph{clear-box static
checker frameworks} that constrain the bug detector specification language to
enable the framework to adapt and enhance the detectors.

Wed 20 Oct

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

07:40 - 09:00
Analysis - mirrorOOPSLA at Zurich C
Chair(s): Constantin Enea University of Paris / IRIF / CNRS
07:40
15m
Talk
Making Pointer Analysis More Precise by Unleashing the Power of Selective Context SensitivityVirtual
OOPSLA
Tian Tan Nanjing University, Yue Li Nanjing University, Xiaoxing Ma Nanjing University, Chang Xu Nanjing University, Yannis Smaragdakis University of Athens
DOI
07:55
15m
Talk
Compacting Points-To Sets through Object ClusteringVirtual
OOPSLA
Mohamad Barbar University of Technology Sydney; CSIRO’s Data61, Yulei Sui University of Technology Sydney
DOI
08:10
15m
Talk
Program Analysis via Efficient Symbolic AbstractionVirtual
OOPSLA
Peisen Yao Hong Kong University of Science and Technology; Ant Group, Qingkai Shi Ant Group, Heqing Huang Hong Kong University of Science and Technology, Charles Zhang Hong Kong University of Science and Technology
DOI
08:25
15m
Talk
JavaDL: Automatically Incrementalizing Java Bug Pattern DetectionVirtual
OOPSLA
Alexandru Dura Lund University, Christoph Reichenbach Lund University, Emma Söderberg Lund University
DOI
08:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

15:40 - 17:00
AnalysisOOPSLA at Zurich C -8h
Chair(s): Julian Dolby IBM Research, USA
15:40
15m
Talk
Making Pointer Analysis More Precise by Unleashing the Power of Selective Context SensitivityVirtual
OOPSLA
Tian Tan Nanjing University, Yue Li Nanjing University, Xiaoxing Ma Nanjing University, Chang Xu Nanjing University, Yannis Smaragdakis University of Athens
DOI
15:55
15m
Talk
Compacting Points-To Sets through Object ClusteringVirtual
OOPSLA
Mohamad Barbar University of Technology Sydney; CSIRO’s Data61, Yulei Sui University of Technology Sydney
DOI
16:10
15m
Talk
Program Analysis via Efficient Symbolic AbstractionVirtual
OOPSLA
Peisen Yao Hong Kong University of Science and Technology; Ant Group, Qingkai Shi Ant Group, Heqing Huang Hong Kong University of Science and Technology, Charles Zhang Hong Kong University of Science and Technology
DOI
16:25
15m
Talk
JavaDL: Automatically Incrementalizing Java Bug Pattern DetectionVirtual
OOPSLA
Alexandru Dura Lund University, Christoph Reichenbach Lund University, Emma Söderberg Lund University
DOI
16:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA