jQAssistant:使用基于Neo4J查询语言进行代码静态分析

jqassistant

jQAssistant是一个QA工具,支持在结构层定义与验证项目特定规则。它基于Neo4j图形化数据库,可嵌入到构建流程,自动进行规则检测、生成用户定义的数据报表。

使用示例:

  • 强制名称转换,比如EJB、JPA实例、测试用例、包、Maven模块等
  • 验证项目中模块间依赖关系
  • API与实现的package分离
  • 检测常见问题,比如循环依赖或没有断言的测试

使用要求

  • JRE 7或更高版本(推荐使用64位):支持低版本Java编译的应用程序
  • 要求至少1GB RAM

注意:可以通过JQASSISTANT_OPTS (命令行)或MAVEN_OPTS(Maven)环境变量调整内存设置。

Windows

Linux

工作机制

jQAssistant旨在把下面的信息加入到构建流程:

  1. 扫描生成代码并存储到数据库;
  2. 分析查询结果得到的rules结构;
  3. 报告冲突。

jQAssistant本身是一个基于插件的框架,默认带有一些预定义的插件集合,包含扫描器、规则和报告插件。可以通过自定义规则和实现进行扩展。

jQAssistant默认嵌入Neo4j社区版数据库实例,无需配置额外配置。选择Neo4j的原因:

  • Neo4j是一个成熟的开源图形化数据库;
  • Neo4j可以方便地管理软件结构化模型及其关系;
  • 可以很直观地使用查询语言(Cypher)

安装

直接下载

下载解压,得到 “jqassistant.distribution-1.1.4” 目录。

Maven

在项目 pom.xml 中加入以下依赖项:

开发资源

许可证

jQAssistant遵循GNU v3开源协议发布。

官方网站:http://jqassistant.org/
开源地址:http://github.com/buschmais/jqassistant

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:唐尤华

做自己喜欢的,编程、喝茶、看世界 个人主页 · 贡献了108个资源 · 18 ·    


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer