Everything about Code property graph
Representation of a computer program
In computer science, a code property graph (CPG) is a computer program representation that captures syntactic structure, control flow, and data dependencies in a property graph. The concept was originally introduced to identify security vulnerabilities in C and C++ system code, but has since been employed to analyze web applications, cloud deployments, and smart contracts. Beyond vulnerability discovery, code property graphs find applications in code clone detection, attack-surface detection, exploit generation, measuring code testability, and backporting of security patches. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Code property graphA 5-minute orientation
- Skim a recent paper: On Some Properties of Graph of Prefix CodeInfluential work since 2022
- Pick up a classic book: Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)The most-reprinted book on the subject
- Read the landmark paper: bjXnet: an improved bug localization model based on code property graph and attention mechanismCited 18 times
- Go sideways: American Fuzzy Lop (software)A closely related topic
- Go sideways: FuzzingA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
bjXnet: an improved bug localization model based on code property graph and attention mechanism
SemVul: Semantic-enhanced graph neural networks for code property graph-based vulnerability detection
Efficient Software Vulnerability Detection Using Edge-Conditioned Graph Neural Networks on Heterogeneous Code Property Graphs
🆕 Influential since 2022
📚 Books worth reading
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- American Fuzzy Lop (software) Free and open-source software portal American Fuzzy Lop (AFL), stylized in all lowercase as american fuzzy lop, is a free software fuzzer that employs…
- Fuzzing In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected…
- Prototype pollution Prototype pollution is a class of vulnerabilities in prototype-based languages such as JavaScript runtimes that allows attackers to overwrite arbitrary…
- Event camera An event camera, also known as a neuromorphic camera, silicon retina, or dynamic vision sensor, is an imaging sensor that responds to local changes in…
- Small object detection Small object detection is a particular case of object detection where various techniques are employed to detect small objects in digital images and videos…
- Stochastic block model The stochastic block model is a generative model for random graphs. This model tends to produce graphs containing communities, subsets of nodes characterized…
- Dynamic program analysis Dynamic program analysis is the act of analyzing software that involves executing a program – as opposed to static program analysis, which does not execute…
- Virgil D. Gligor Virgil Dorin Gligor (born July 30, 1949) is a Romanian-American professor of electrical and computer engineering who specializes in the research of network…