Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Construct PDG exclusively on provenance information #1107

Closed
wants to merge 4 commits into from

Commits on Jul 25, 2024

  1. Handle nested fields and other projections

    Record field and index projections for pointers
    by recording a Project event with a base and target
    pointer pair.
    ahomescu committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    d517c48 View commit details
    Browse the repository at this point in the history
  2. Keep track of unique projection combinations in Project

    Add an index value to Project events to differentiate between
    different projections with the same pointer offset, e.g.,
    (*p).x and (*p).x.a if a is the first field of the structure.
    
    This is implemented as an IndexSet<Vec<usize>> where each element
    is a unique combination of field projections. The Project index
    points to an element in this set.
    ahomescu committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    8af09d1 View commit details
    Browse the repository at this point in the history
  3. Build PDG without tracking assignments

    The event assignment-based PDG
    construction steps were giving incorrect results
    for indirect accesses, so remove them completely.
    ahomescu committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    152c3ae View commit details
    Browse the repository at this point in the history
  4. Update PDG snapshots

    ahomescu committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    9b94bad View commit details
    Browse the repository at this point in the history