Java Code Analysis with Database and Domain Specific Language
summary
Claim: using a small DSL plus a graph database cuts checker code from ~80 lines of imperative Java to a compact declarative rule. Implementation stores an adaptive AST and an extended code property graph in graph DBs (TinkerGraph / OverflowDB), translates the DSL to Gremlin, and runs taint analysis with sanitizer, extra flows and states. Result: a working Huawei engine that fully supports Java, requires front-end AST adapters, and eases rule authoring.
AI-written summary · about
chapters (7)
- 0:00Introduction and background
- 2:58Static analysis principles
- 8:52DSL and code representation
- 13:42Database selection
- 17:30Tools and practical examples
- 28:31Developing analysis engines
- 37:43Summary and Q&A
related talks
10mpart6 – Neal Ford
54mKotlin DSLs as a Single Source of Truth for Multiple Tasks
08mpart7 – Ted Neward
24mDesigning a DSL That Perfectly Solves Your Problem
53mDeveloping DSLs in a pragmatic way
01h 00mBuilding DSLs on Top of KernelF
40mIntegrating IDEs with Dotty the experimental Scala compiler
47mMetaprogramming with JavaParser
