本文介绍CodeQL中用于分析Java程序调用图的类:Callable(可被调用的方法或构造器)和Call(调用点),以及导航谓词getCallee、getCaller和polyCalls。通过示例展示如何编写查询查找未使用的方法,并逐步优化查询,排除库代码、类初始化器、finalize方法、公共方法、默认构造器及测试类,以减少误报。
本文介绍CodeQL Java库,用于分析Java程序。库以QL模块实现,核心类分五类:程序元素(如类、方法)、AST节点(语句、表达式)、元数据(注解、Javadoc)、度量(如循环复杂度)和调用图。文章详述各类用途,如查询变量、类型、注解及方法调用,并强调库支持泛型、通配符等复杂类型分析,辅助代码质量检测。
Crabviz 是一款基于语言服务器协议的调用图生成工具,支持多种编程语言。新功能包括节点缩放、跳转到定义和查找符号等。可通过 VS Code 插件安装,项目地址在 GitHub。
本文介绍了一款用Go语言编写的CLI工具,能够生成特定函数的调用图。该工具通过静态分析代码捕捉函数调用关系,确保不遗漏重要上下文。生成的调用图以结构化JSON格式输出,便于快速检查和与LLM结合使用。
Crabviz插件更新,支持局部分析和嵌套函数,修复UI问题。在VS Code中安装后,右键选择文件或文件夹,生成调用图。GitHub上有项目地址,欢迎用户提出问题和建议。
完成下面两步后,将自动完成登录并继续当前操作。