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

Add Program Dependence Graph #1227

Merged
merged 66 commits into from
Aug 8, 2023
Merged

Add Program Dependence Graph #1227

merged 66 commits into from
Aug 8, 2023

Conversation

seelchen
Copy link
Contributor

@seelchen seelchen commented Jun 29, 2023

This PR adds the Program Dependence Graph (PDG). A new pass is introduced which collects the DFG and CDG edges of each node to create its PDG edges.

KuechA and others added 30 commits March 17, 2023 11:01
…rklist.kt

Co-authored-by: Christian Banse <christian.banse@aisec.fraunhofer.de>
@seelchen seelchen marked this pull request as draft June 30, 2023 13:52
@seelchen
Copy link
Contributor Author

On hold until the direction of PropertyEdges stored in prevPDGEdges is decided.

@oxisto oxisto linked an issue Jun 30, 2023 that may be closed by this pull request
4 tasks
@oxisto
Copy link
Member

oxisto commented Jun 30, 2023

On hold until the direction of PropertyEdges stored in prevPDGEdges is decided.

We should probably also store the information whether this is a data flow or a control dependence edge in the PDG edge

@seelchen
Copy link
Contributor Author

seelchen commented Jul 7, 2023

We decided that the direction of the dependence edges should be the same as the direction of the flow edges

@seelchen
Copy link
Contributor Author

seelchen commented Jul 7, 2023

On hold until the direction of PropertyEdges stored in prevPDGEdges is decided.

We should probably also store the information whether this is a data flow or a control dependence edge in the PDG edge

I added a new edge Property called DEPENDENCE and a new enum class to differentiate between the dependence types

Base automatically changed from worklist-eog-iteration to main July 26, 2023 07:50
@seelchen seelchen marked this pull request as ready for review August 2, 2023 15:11
@sonarcloud
Copy link

sonarcloud bot commented Aug 7, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

88.6% 88.6% Coverage
0.0% 0.0% Duplication

Copy link
Member

@oxisto oxisto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests follow a bit „unusual“ convention, with compared to the rest of the project but this seems to be ok

@KuechA KuechA merged commit 7d720c8 into main Aug 8, 2023
3 checks passed
@KuechA KuechA deleted the add-pdg-properties branch August 8, 2023 07:35
@oxisto oxisto changed the title Add Program Dependency Graph Add Program Dependence Graph Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PDG for Branch nodes
3 participants