jQAssistant is a QA tool, which allows the definition and validation of project specific rules on a structural level. It is built upon the graph database Neo4j and can easily be plugged into the build process to automate detection of constraint violations and generate reports about user defined concepts and metrics.

Example use cases:

  • Enforce naming conventions, e.g. EJBs, JPA entities, test classes, packages, Maven modules etc.
  • Validate dependencies between modules of your project
  • Separate API and implementation packages
  • Detect common problems like cyclic dependencies or tests without assertions

Rules are expressed in Cypher - the easy-to-learn query language of Neo4j:

  t AS TestWithoutAssertion
Get started here!


  • jQAssistant 1.9.1 released

    jQAssistant 1.9.1 is now available and it comes with the following new features: Rules in YAML files Beside Asciidoc and XML files rules now may be written in YAML files as well: concepts: – id: java:Throwable description: Labels types deriving from java.lang.Throwable as "Throwable". source: | match (throwable)-[:EXTENDS*]->(t:Type) where t.fqn = 'java.lang.Throwable' SET throwable:Throwable return…

  • jQAssistant Double Features

    During the last three weeks there were two „jQAssistant Double Feature“ events at the Java User Group Switzerland (JUG CH) and the Software Architecture Meetup Nuremberg: Dirk Mahler started with a talk introducing the tool jQAssistant giving an overview about use cases and how it works. In the second talk Stephan Pirnbaum explained pragmatic and…

  • jQAssistant Plugin 1.9.0 for SonarQube Released

    We have a new release of the jQAssistant plugin for SonarQube available now, it comes with two major changes: Filterable Ad-hoc Rules Until now all issues were created either as „Constraint Violation“ or „Failed Concept“ which made it impossible to search for concrete rules as specified in your XML or Asciidoc files. The plugin therefore…

  • jQAssistant Docker Plugin released

    A first release of the jQAssistant Docker plugin is now available! It allows scanning docker registries and making information about contained repositories, tags, manifests and layers available for exploration: Curious? Try it out, installation instructions and usage information are available on GitHub!

  • jQAssistant 1.8.0 released

    jQAssistant 1.8.0 released including HTML reports embedding rule results as tables or diagrams, scanning of Maven dependencies and improved Spring rules.

  • Workshop in Frankfurt/Main: „Let’s Disassemble A Monolith!“

    The workshop „Let’s Disassemble A Monolith“ is coming to Frankfurt/Main in December 10th/11h this year! Attendees will learn how to deal with the challenge of extracting Microservices from monolothic Java systems. This is performed in a hands-on way using the example of a real-world open source Java eCommerce system. One of the key aspects is…

  • jQAssistant Plugin for SonarQube 7.9 released

    A new release of the jQAssistant plugin for SonarQube is available now! It comes with the following changes: Raised compatibility to SonarQube 7.9 (current LTS release) Support for multi-module projecs The plugin and installation instructions are available on the project homepage, for release note read here. Enjoy!

  • Fix Your Microservice Architecture Using Graph Analysis

    Nicolas Mervaillie (GraphAware) gave a talk about analysis of microservices architectures at the Neo4j Online Developer Summit NODES 2019. He covers topics like impact analysis between microservices, detecting potential resilience problems or finding missing API documentation – all this based on information provided by jQAssistant. Got curious? Enjoy watching the recording of his talk here:

  • View All »

Back to Top