English
Related papers

Related papers: Precise Null Pointer Analysis Through Global Value…

200 papers

A pointer analysis maps the pointers in a program to the memory locations they point to. In this work, we study the effectiveness of the three flavors of pointer analysis namely flow sensitive, flow insensitive, and context sensitive…

Software Engineering · Computer Science 2022-08-12 Komal Pathade

Static analysis tools typically address the problem of excessive false positives by requiring programmers to explicitly annotate their code. However, when faced with incomplete annotations, many analysis tools are either too conservative,…

Programming Languages · Computer Science 2021-07-16 Sam Estep , Jenna Wise , Jonathan Aldrich , Éric Tanter , Johannes Bader , Joshua Sunshine

The points-to problem is the problem of determining the possible run-time targets of pointer variables and is usually considered part of the more general aliasing problem, which consists in establishing whether and when different…

Programming Languages · Computer Science 2008-10-07 Stefano Soffia

Flow- and context-sensitive pointer analysis is generally considered too expensive for large programs; most tools relax one or both of the requirements for scalability. We formulate a flow- and context-sensitive points-to analysis that is…

Programming Languages · Computer Science 2011-12-22 Uday P. Khedker , Alan Mycroft , Prashant Singh Rawat

Pointer analysis is a fundamental static program analysis for computing the set of objects that an expression can refer to. Decades of research has gone into developing methods of varying precision and efficiency for pointer analysis for…

Programming Languages · Computer Science 2021-10-07 K. Tuncay Tekle , Yanhong A. Liu

Static analysis of real-world programs combines flow- and context-sensitive analyses of local program states with computation of flow- and context-insensitive invariants at globals, that, e.g., abstract data shared by multiple threads. The…

Programming Languages · Computer Science 2025-04-09 Fabian Stemmler , Michael Schwarz , Julian Erhard , Sarah Tilscher , Helmut Seidl

Global Value Numbering (GVN) is an important static analysis to detect equivalent expressions in a program. We present an iterative data-flow analysis GVN algorithm in SSA for the purpose of detecting total redundancies. The central…

Programming Languages · Computer Science 2015-04-14 Rekha R Pai

Over the past decades, context sensitivity has been considered as one of the most effective ideas for improving the precision of pointer analysis for Java. However, despite great precision benefits, as each method is equivalently cloned and…

Programming Languages · Computer Science 2023-04-25 Wenjie Ma , Shengyuan Yang , Tian Tan , Xiaoxing Ma , Chang Xu , Yue Li

In this paper, we present type systems for flow-sensitive pointer analysis, live stack-heap (variables) analysis, and program optimization. The type system for live stack-heap analysis is an enrichment of that for pointer analysis; the…

Software Engineering · Computer Science 2011-04-05 Mohamed A. El-Zawawy

This paper presents a scalable path- and context-sensitive data-dependence analysis. The key is to address the aliasing-path-explosion problem via a sparse, demand-driven, and fused approach that piggybacks the computation of pointer…

Programming Languages · Computer Science 2021-09-20 Peisen Yao , Jinguo Zhou , Xiao Xiao , Qingkai Shi , Rongxin Wu , Charles Zhang

With an increasing number of value-flow properties to check, existing static program analysis still tends to have scalability issues when high precision is required. We observe that the key design flaw behind the scalability problem is that…

Software Engineering · Computer Science 2019-12-17 Qingkai Shi , Rongxin Wu , Gang Fan , Charles Zhang

The core challenge in designing an effective static program analysis is to find a good program abstraction -- one that retains only details relevant to a given query. In this paper, we present a new approach for automatically finding such…

Programming Languages · Computer Science 2015-11-11 Radu Grigore , Hongseok Yang

Binary-level pointer analysis can be of use in symbolic execution, testing, verification, and decompilation of software binaries. In various such contexts, it is crucial that the result is trustworthy, i.e., it can be formally established…

Software Engineering · Computer Science 2025-01-30 Freek Verbeek , Ali Shokri , Daniel Engel , Binoy Ravindran

We propose a memory abstraction able to lift existing numerical static analyses to C programs containing union types, pointer casts, and arbitrary pointer arithmetics. Our framework is that of a combined points-to and data-value analysis.…

Programming Languages · Computer Science 2016-08-14 Antoine Miné

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

A typical points-to analysis such as Andersen's or Steensgaard's may lose precision because it ignores the branching structure of the analyzed program. Moreover, points-to analysis typically focuses on objects only, not considering…

Programming Languages · Computer Science 2025-02-03 David Kozak , Codrut Stancu , Tomáš Vojnar , Christian Wimmer

Functional programming languages are particularly well-suited for building automated reasoning systems, since (among other reasons) a logical term is well modeled by an inductive type, traversing a term can be implemented generically as a…

Programming Languages · Computer Science 2020-06-02 Daniel Selsam , Simon Hudon , Leonardo de Moura

Pointer analysis is indispensable for effectively verifying heap-manipulating programs. Even though it has been studied extensively, there are no publicly available pointer analyses that are moderately precise while scalable to large…

Programming Languages · Computer Science 2019-08-19 Jakub Kuderski , Jorge A. Navas , Arie Gurfinkel

Abstraction, counterexample-guided refinement, and interpolation are techniques that are essential to the success of predicate-based program analysis. These techniques have not yet been applied together to explicit-value program analysis.…

Software Engineering · Computer Science 2013-01-01 Dirk Beyer , Stefan Löwe

We present a new demand-driven flow- and context-sensitive pointer analysis with strong updates for C programs, called SUPA, that enables computing points-to information via value-flow refinement, in environments with small time and memory…

Programming Languages · Computer Science 2017-01-23 Yulei Sui , Jingling Xue
‹ Prev 1 2 3 10 Next ›