Deep learning-based software engineering: Progress, challenges, and opportunities
Researchers have recently achieved significant advances in deep learning techniques,
which in turn has substantially advanced other research disciplines, such as natural …
which in turn has substantially advanced other research disciplines, such as natural …
A survey of parametric static analysis
Understanding program behaviors is important to verify program properties or to optimize
programs. Static analysis is a widely used technique to approximate program behaviors via …
programs. Static analysis is a widely used technique to approximate program behaviors via …
A cocktail approach to practical call graph construction
After decades of research, constructing call graphs for modern C-based software remains
either imprecise or inefficient when scaling up to the ever-growing complexity. The main …
either imprecise or inefficient when scaling up to the ever-growing complexity. The main …
Precision-guided context sensitivity for pointer analysis
Context sensitivity is an essential technique for ensuring high precision in Java pointer
analyses. It has been observed that applying context sensitivity partially, only on a select …
analyses. It has been observed that applying context sensitivity partially, only on a select …
Scalability-first pointer analysis with self-tuning context-sensitivity
Context-sensitivity is important in pointer analysis to ensure high precision, but existing
techniques suffer from unpredictable scalability. Many variants of context-sensitivity exist …
techniques suffer from unpredictable scalability. Many variants of context-sensitivity exist …
Beware of the unexpected: Bimodal taint analysis
Static analysis is a powerful tool for detecting security vulnerabilities and other programming
problems. Global taint tracking, in particular, can spot vulnerabilities arising from …
problems. Global taint tracking, in particular, can spot vulnerabilities arising from …
A principled approach to selective context sensitivity for pointer analysis
Context sensitivity is an essential technique for ensuring high precision in static analyses. It
has been observed that applying context sensitivity partially, only on a select subset of the …
has been observed that applying context sensitivity partially, only on a select subset of the …
Qilin: A new framework for supporting fine-grained context-sensitivity in Java pointer analysis
Existing whole-program context-sensitive pointer analysis frameworks for Java, which were
open-sourced over one decade ago, were designed and implemented to support only …
open-sourced over one decade ago, were designed and implemented to support only …
Striking a balance: pruning false-positives from static call graphs
Researchers have reported that static analysis tools rarely achieve a false-positive rate that
would make them attractive to developers. We overcome this problem by a technique that …
would make them attractive to developers. We overcome this problem by a technique that …
Elipmoc: Advanced decompilation of ethereum smart contracts
Smart contracts on the Ethereum blockchain greatly benefit from cutting-edge analysis
techniques and pose significant challenges. A primary challenge is the extremely low-level …
techniques and pose significant challenges. A primary challenge is the extremely low-level …