A code property graph of a program is a graph representation of the program obtained by merging its [[Abstractabstract syntax tree|abstract syntax trees]]s (AST), [[Control-flow graph|control flow graphs]]s (CFG) and [[Programprogram dependence graph|program dependence graphs]]s (PDG) at statement and predicate nodes. The resulting graph is a property graph, which is the underlying graph model of graph databases such as Neo4J, JanusGraph and OrientDB where data is stored in the nodes and edges as key-value pairs. In effect, code property graphs can be stored in graph databases and queried using graph query languages.
== Example ==
Consider the function of a [[C (programming language)|C]] program: