Program Analysis

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 1191705 Experts worldwide ranked by ideXlab platform

Uwe Aßmann - One of the best experts on this subject based on the ideXlab platform.

  • TAGT - On Edge Addition Rewrite Systems and their Relevance to Program Analysis
    Lecture Notes in Computer Science, 1996
    Co-Authors: Uwe Aßmann
    Abstract:

    In this paper we define a special class of graph rewrite systems for Program Analysis: edge addition rewrite systemsEars). Ears can be applied to distributive data-flow frameworks over finite lattices [Hec77] [RSH94], as well as many other Program Analysis problems. We also present some techniques for optimized evaluation of Ears. They show that Ears are very well suited for generating efficient Program analyzers.

  • CC - How to Uniformly Specify Program Analysis and Transformation with Graph Rewrite Systems
    Lecture Notes in Computer Science, 1996
    Co-Authors: Uwe Aßmann
    Abstract:

    Implementing Program optimizers is a task which swallows an enourmous amount of man-power. To reduce development time a simple and practial specification method is highly desirable. Such a method should comprise both Program Analysis and transformation. However, although several frameworks for Program Analysis exist, none of them can be used for Analysis and transformation uniformly. This paper presents such a method. For Program Analysis we use a simple variant of graph rewrite systems (edge addition rewrite systems). For Program transformation we apply more complex graph rewrite systems. Our specification method has been implemented prototypically in the optimizer generator OPTIMIX. OPTIMIX works with arbitrary intermediate languages and generates real-life Program analyses and transformations. We demonstrate this by several examples and measurements.

Thomas Reps - One of the best experts on this subject based on the ideXlab platform.

  • SAS - Static Program Analysis via 3-Valued Logic
    Static Analysis, 2002
    Co-Authors: Thomas Reps
    Abstract:

    Abstract interpretation serves as a powerful theoretical tool for developing and justifying Program-Analysis algorithms. It provides a way to establish that information extracted from a Program by a Program-Analysis algorithm is a meaningful characterization of what can occur when the Program is executed. Typically, however, it is not an easy task to obtain the appropriate abstract state-transformation functions and to show that they are correct. On the contrary, papers on Program Analysis often contain exhaustive (and exhausting) proofs to demonstrate that a given abstract semantics provides answers that are safe with respect to a given concrete semantics.

  • Program Analysis via graph reachability
    Information & Software Technology, 1998
    Co-Authors: Thomas Reps
    Abstract:

    Abstract This paper describes how a number of Program-Analysis problems can be solved by transforming them to graph-reachability problems. Some of the Program-Analysis problems that are amenable to this treatment include Program slicing, certain dataflow-Analysis problems, one version of the problem of approximating the possible “shapes” that heap-allocated structures in a Program can take on, and flow-insensitive points-to Analysis. Relationships between graph reachability and other approaches to Program Analysis are described. Some techniques that go beyond pure graph reachability are also discussed.

  • Program Analysis via graph reachability
    International Conference on Logic Programming, 1997
    Co-Authors: Thomas Reps
    Abstract:

    Abstract : This paper describes how a number of Program-Analysis problems can be solved by transforming them to graph-reachability problems. Some of the Program-Analysis problems that are amenable to this treatment include Program slicing, certain dataflow-Analysis problems, and the problem of approximating the possible 'shapes' that heap-allocated structures in a Program can take on. Relationships between graph reachability and other approaches to Program Analysis are described. Some techniques that go beyond pure graph reachability are also discussed.

Paul D. Hovland - One of the best experts on this subject based on the ideXlab platform.

  • PASTE - Representation-independent Program Analysis
    The 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering - PASTE '05, 2005
    Co-Authors: Michelle Mills Strout, John Mellor-crummey, Paul D. Hovland
    Abstract:

    Program Analysis has many applications in software engineering and high-performance computation, such as Program understanding, debugging, testing, reverse engineering, and optimization. A ubiquitous compiler infrastructure does not exist; therefore, Program Analysis is essentially reimplemented for each compiler infrastructure. The goal of the OpenAnalysis toolkit is to separate Analysis from the intermediate representation (IR) in a way that allows the orthogonal development of compiler infrastructures and Program Analysis. Separation of Analysis from specific IRs will allow faster development of compiler infrastructures, the ability to share and compare Analysis implementations, and in general quicker breakthroughs and evolution in the area of Program Analysis. This paper presents how we are separating Analysis implementations from IRs with Analysis-specific, IR-independent interfaces. Analysis-specific IR interfaces for alias/pointer Analysis algorithms and reaching constants illustrate that an IR interface designed for language dependence is capable of providing enough information to support the implementation of a broad range of Analysis algorithms and also represent constructs within many imperative Programming languages.

Nicolas Halbwachs - One of the best experts on this subject based on the ideXlab platform.

  • Disjunctive Relational Abstract Interpretation for Interprocedural Program Analysis
    2019
    Co-Authors: Rémy Boutonnet, Nicolas Halbwachs
    Abstract:

    Program Analysis by abstract interpretation using relational abstract domains—like polyhedra or octagons—easily extends from state Analysis (construction of reachable states) to relational Analysis (construction of input-output relations). In this paper, we exploit this extension to enable interprocedural Program Analysis, by constructing relational summaries of procedures. In order to improve the accuracy of procedure summaries, we propose a method to refine them into disjunctions of relations, these disjunctions being directed by preconditions on input parameters.

  • VMCAI - Disjunctive Relational Abstract Interpretation for Interprocedural Program Analysis
    Lecture Notes in Computer Science, 2019
    Co-Authors: Rémy Boutonnet, Nicolas Halbwachs
    Abstract:

    Program Analysis by abstract interpretation using relational abstract domains—like polyhedra or octagons—easily extends from state Analysis (construction of reachable states) to relational Analysis (construction of input-output relations). In this paper, we exploit this extension to enable interprocedural Program Analysis, by constructing relational summaries of procedures. In order to improve the accuracy of procedure summaries, we propose a method to refine them into disjunctions of relations, these disjunctions being directed by preconditions on input parameters.

Collin Winter - One of the best experts on this subject based on the ideXlab platform.

  • Tricorder: Building a Program Analysis Ecosystem
    2015
    Co-Authors: Caitlin Sadowski, Jeffrey Van Gogh, Ciera Jaspan, Emma Soderberg, Collin Winter, Google Inc
    Abstract:

    Abstract—Static Analysis tools help developers find bugs, im-prove code readability, and ensure consistent style across a project. However, these tools can be difficult to smoothly in-tegrate with each other and into the developer workflow, partic-ularly when scaling to large codebases. We present TRICORDER, a Program Analysis platform aimed at building a data-driven ecosystem around Program Analysis. We present a set of guiding principles for our Program Analysis tools and a scalable archi-tecture for an Analysis platform implementing these principles. We include an empirical, in-situ evaluation of the tool as it is used by developers across Google that shows the usefulness and impact of the platform. Index Terms—Program Analysis, static Analysis I

  • tricorder building a Program Analysis ecosystem
    International Conference on Software Engineering, 2015
    Co-Authors: Caitlin Sadowski, Jeffrey Van Gogh, Ciera Jaspan, Emma Soderberg, Collin Winter
    Abstract:

    Static Analysis tools help developers find bugs, improve code readability, and ensure consistent style across a project. However, these tools can be difficult to smoothly integrate with each other and into the developer workflow, particularly when scaling to large codebases. We present T ricorder , a Program Analysis platform aimed at building a data-driven ecosystem around Program Analysis. We present a set of guiding principles for our Program Analysis tools and a scalable architecture for an Analysis platform implementing these principles. We include an empirical, in-situ evaluation of the tool as it is used by developers across Google that shows the usefulness and impact of the platform.

  • ICSE (1) - Tricorder: building a Program Analysis ecosystem
    2015 IEEE ACM 37th IEEE International Conference on Software Engineering, 2015
    Co-Authors: Caitlin Sadowski, Jeffrey Van Gogh, Ciera Jaspan, Emma Soderberg, Collin Winter
    Abstract:

    Static Analysis tools help developers find bugs, improve code readability, and ensure consistent style across a project. However, these tools can be difficult to smoothly integrate with each other and into the developer workflow, particularly when scaling to large codebases. We present T ricorder , a Program Analysis platform aimed at building a data-driven ecosystem around Program Analysis. We present a set of guiding principles for our Program Analysis tools and a scalable architecture for an Analysis platform implementing these principles. We include an empirical, in-situ evaluation of the tool as it is used by developers across Google that shows the usefulness and impact of the platform.