Skip to main content

New analysis technology

Simple Story

The reach check reads the pupil's compiled answer, without running any of it, looking for routes to forbidden things.

Two libraries do that today. This is how a third would join them.

This page is a stub

The outline below is the intended structure and is not yet written.

The shared vocabulary​

Node, call graph, depth-first search (DFS) path and rule, as described under Architecture Tests. A new analyser must express all four or explain what it substitutes.

Where it plugs in​

ArchitectureMode, the test-case collection, and the execution entry point that receives the architecture and aspect-oriented programming (AOP) mode strings.

The data it needs​

The methods lists under templates/architecture, the exclusions file and the essential packages and classes.

Precompile output​

The Java sources and templates copied into the exercise, and the package rewrite into <packageName>.ares.api....

Verification​

The same rule set must produce the same verdicts as the existing analysers on the shared fixtures. A disagreement is a finding, not a tuning parameter.

Notes​

  • The analyser runs before restrictedPackage is published, so it must not itself trip the enforcement it is installing.