@@ -149,20 +149,21 @@ Options:
149149
150150| Language | Namespace Dependencies | Function Dependencies | Test Coverage |
151151|----------|----------|------------|----------|
152- | C / C++ | | joern, lsp (clangd ) | |
153- | Clojure | | clj-kondo | codecov (cloverage ) |
152+ | C / C++ | ✓ | joern, lsp (clangd ) | |
153+ | Clojure | ✓ | clj-kondo | codecov (cloverage ) |
154154| Go | scip | joern, lsp (gopls ) | |
155- | Java | | joern | |
155+ | Java | ✓ | joern | |
156156| JavaScript / TypeScript | scip | joern, lsp (typescript-language-server ) | |
157157| Lua | treesitter | lsp (lua-language-server ) | |
158158| Python | scip | joern | |
159- | Ruby | scip | | |
160- | Rust | | lsp (rust-analyzer ) | |
161- | Zig | | lsp (zls ) | |
159+ | Ruby | scip | - | |
160+ | Rust | ✓ | lsp (rust-analyzer ) | |
161+ | Zig | ✓ | lsp (zls ) | |
162162
163163Granularity of extractions:
164164
165165- Namespace dependencies - Coarser-grained dependencies only between modules/files
166+ - (✓ ) means namespace dependencies are provided by function dependencies implementation
166167- Function dependencies - Finer-grained including dependencies between functions/methods within modules/files
167168
168169##### LSP-based extractors
@@ -193,6 +194,17 @@ scip-python index # creates index.scip
193194clojure -M:stratify -f scip -o graph.dgml index.scip
194195```
195196
197+ ##### Joern-based extractors
198+
199+ [Joern](https://github.com/joernio/joern ) is a tool for code analysis which includes parsers for multiple languages.
200+ It is based on Code Property Graphs (CPG ) model which can be used to extract function-level dependencies.
201+
202+ For example to extract Java dependencies:
203+
204+ ```bash
205+ clojure -M:stratify -f java-joern -o graph.dgml src
206+ ```
207+
196208### Using Visual Studio DGML Editor
197209
198210Once you extracted the graph use [Visual Studio](https://visualstudio.microsoft.com/ ) to visualize it.
0 commit comments