AtlasArc

Hotspot Risk

Spring Boot · AtlasArc 1.0.1+736db9b9 · 2026-07-31T22:30:00Z

A risk-ranking report for complexity, coupling, visibility, and coverage hotspots.

Refactoring Risk Briefing

This chapter ranks package-level risk signals before the diagrams: coupling pressure, distance from the main sequence, visibility, cycle participation.

Packages ranked1026
High distance188
High coupling139
Cycle packages4
CoverageNot loaded

Top Risk Drivers

Primary driverDistanceFan-inFan-out
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot
Coupling0.421698
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context.properties.bind
Cycle participation0.44443
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context.properties.source
Cycle participation0.67322
Packagespring-boot-build.module.spring-boot-web-server.main:org.springframework.boot.web.server
Coupling0.56418
Packagespring-boot-build.core.spring-boot-autoconfigure.main:org.springframework.boot.autoconfigure.service.connection
Coupling0.60630
Packagespring-boot-build.module.spring-boot-actuator.main:org.springframework.boot.actuate.endpoint
Coupling0.45610
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.env
Cycle participation0.48112
Packagespring-boot-build.module.spring-boot-actuator.main:org.springframework.boot.actuate.endpoint.web
Visibility0.52313
Rendered as Subsystems · Boundary Risk Open

Where does boundary pressure concentrate across the visible architecture?

Configuration
Focus
project root
Curated view
Boundary Risk
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
Fan-out
Y axis
Fan-in
Size
Classes
Colour
Instability
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more outgoing boundary dependencies; up means more incoming boundary dependencies; size is total class count.
  • Colour follows instability, so red means outgoing-heavy rather than automatically wrong. Use the figure to find boundary surfaces worth inspecting in Topology or Matrix.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Fan-in
0 50 100 150 200 250 300 0 200 400 600 800 spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… context spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… logging spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo…
Fan-out
Rendered as Subsystems · Visibility Surface Open

Which subsystems expose a large public surface?

Configuration
Focus
project root
Curated view
Visibility Surface
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
Relative visibility
Y axis
Abstractness
Size
Classes
Colour
Abstractness
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more visible API surface; up and colour both follow abstractness; size is total class count.
  • This view highlights boundary shape, not direct defect risk. A top/right bubble may be a deliberate public contract area.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Abstractness (A)
0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00 spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… context spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… logging spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo…
Rel. Visibility (RV)
Rendered as Subsystems · Internal Tangles Open

Which subsystem areas contain internal cycle pressure?

Configuration
Focus
project root
Curated view
Internal Tangles
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
cycleCount
Y axis
largestCycle
Size
packageCount
Colour
Cycle status
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more fully contained package-cycle groups; up means the largest contained package cycle is larger; size is package count.
  • Only package cycles fully inside the boundary count here. Terminal-package class/file tangles remain separate Package Internals evidence in Topology. Use the cycle tables, Topology, or Matrix for concrete dependency edges and cross-boundary cycle context.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Largest cycle
0 0 0 1 1 1 0 1 2 3 4 spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo… spring-boot-build… org.springframewo…
Cycle groups
Rendered as Hotspots · Coupling Open

Which leaf packages stand out by coupling pressure?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Coupling
Encoding
Bubble
One leaf package
X axis
Fan-out
Y axis
Fan-in
Size
Lines of code
Colour
Instability
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Fan-in
0 5 10 15 20 0 100 200 300 400 config maven condition boot build bind source tools client autoconfigure bundling properties configurationproc… logback autoconfigure json zip autoconfigure context logging convert core type autoconfigure autoconfigure log4j2 json server
Fan-out
Rendered as Hotspots · Visibility Open

Which leaf packages are visible to many callers and far from the main sequence?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Visibility
Encoding
Bubble
One leaf package
X axis
Relative visibility
Y axis
Fan-in
Size
Classes
Colour
Distance from main sequence
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Fan-in
0.00 0.20 0.40 0.60 0.80 1.00 0 100 200 300 400 condition tools boot autoconfigure maven config context properties bind build autoconfigure json core autoconfigure zip autoconfigure autoconfigure jdbc source autoconfigure autoconfigure convert autoconfigure client docker autoconfigure autoconfigure bundling
Rel. Visibility (RV)
Rendered as Hotspots · Abstractness / Instability Open

Which leaf packages sit far from the main sequence?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Zone Map
Encoding
Bubble
One leaf package
X axis
Instability
Y axis
Abstractness
Size
Distance from main sequence
Colour
Distance from main sequence
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Abstractness (A)
0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00 util ssl json socket status cache container format web htmlunit buffering system validation entityclasses enversrepositories repositories customhints runtimewiring protocol util metrics autoconfigure autoconfigure livereload hibernate autoconfigure prometheus system
Instability (I)

Package Metrics

This table ranks packages by structural signals. Use it to inspect packages that combine high fan-in, high fan-out, cycle membership or size.

Fan-inFan-outInstabilityAbstractnessDistanceCycleLOC
Packagespring-boot-build.build-plugin.spring-boot-gradle-plugin.main:org.springframework.boot.gradle.util
200.000.001.0083
Packagespring-boot-build.buildpack.spring-boot-buildpack-platform.main:org.springframework.boot.buildpack.platform.docker.ssl
100.000.001.00732
Packagespring-boot-build.buildpack.spring-boot-buildpack-platform.main:org.springframework.boot.buildpack.platform.json
500.000.001.00387
Packagespring-boot-build.buildpack.spring-boot-buildpack-platform.main:org.springframework.boot.buildpack.platform.socket
100.000.001.00457
Packagespring-boot-build.cli.spring-boot-cli.main:org.springframework.boot.cli.command.status
600.000.001.00110
Packagespring-boot-build.core.spring-boot-autoconfigure.main:org.springframework.boot.autoconfigure.cache
300.000.001.0087
Packagespring-boot-build.core.spring-boot-autoconfigure.main:org.springframework.boot.autoconfigure.container
400.000.001.0080
Packagespring-boot-build.core.spring-boot-autoconfigure.main:org.springframework.boot.autoconfigure.web.format
200.000.001.00220
Packagespring-boot-build.core.spring-boot-test.main:org.springframework.boot.test.mock.web
100.000.001.00119
Packagespring-boot-build.core.spring-boot-test.main:org.springframework.boot.test.web.htmlunit
100.000.001.00118
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context.metrics.buffering
600.000.001.00376
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.system
800.000.001.00696
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.validation
200.000.001.00225
Packagespring-boot-build.documentation.spring-boot-docs.main:org.springframework.boot.docs.data.sql.jpaandspringdata.entityclasses
200.000.001.00164
Packagespring-boot-build.documentation.spring-boot-docs.main:org.springframework.boot.docs.data.sql.jpaandspringdata.enversrepositories
011.001.001.0050
Packagespring-boot-build.documentation.spring-boot-docs.main:org.springframework.boot.docs.data.sql.jpaandspringdata.repositories
011.001.001.0048
Packagespring-boot-build.documentation.spring-boot-docs.main:org.springframework.boot.docs.packaging.nativeimage.advanced.customhints
100.000.001.0093
Packagespring-boot-build.documentation.spring-boot-docs.main:org.springframework.boot.docs.web.graphql.runtimewiring
100.000.001.0052
Packagespring-boot-build.loader.spring-boot-loader.main:org.springframework.boot.loader.net.protocol
100.000.001.0073
Packagespring-boot-build.loader.spring-boot-loader.main:org.springframework.boot.loader.net.util
200.000.001.00111
Packagespring-boot-build.module.spring-boot-amqp.main:org.springframework.boot.amqp.metrics
100.000.001.0070
Packagespring-boot-build.module.spring-boot-data-jdbc-test.main:org.springframework.boot.data.jdbc.test.autoconfigure
051.001.001.00231
Packagespring-boot-build.module.spring-boot-data-r2dbc-test.main:org.springframework.boot.data.r2dbc.test.autoconfigure
041.001.001.00207
Packagespring-boot-build.module.spring-boot-devtools.main:org.springframework.boot.devtools.livereload
200.000.001.00752
Packagespring-boot-build.module.spring-boot-hibernate.main:org.springframework.boot.hibernate
100.000.001.00113
Packagespring-boot-build.module.spring-boot-micrometer-metrics-test.main:org.springframework.boot.micrometer.metrics.test.autoconfigure
021.001.001.00151
Packagespring-boot-build.module.spring-boot-micrometer-metrics.main:org.springframework.boot.micrometer.metrics.export.prometheus
100.000.001.00161
Packagespring-boot-build.module.spring-boot-micrometer-metrics.main:org.springframework.boot.micrometer.metrics.system
100.000.001.0063
Packagespring-boot-build.module.spring-boot-micrometer-tracing-test.main:org.springframework.boot.micrometer.tracing.test.autoconfigure
021.001.001.00148
Packagespring-boot-build.module.spring-boot-mustache.main:org.springframework.boot.mustache.reactive.view
100.000.001.00234
Packagespring-boot-build.module.spring-boot-mustache.main:org.springframework.boot.mustache.servlet.view
100.000.001.00213
Packagespring-boot-build.module.spring-boot-r2dbc.main:org.springframework.boot.r2dbc.metrics
100.000.001.0089
Packagespring-boot-build.module.spring-boot-security-oauth2-resource-server.main:org.springframework.boot.security.oauth2.server.resource.autoconfigure.servlet
011.001.001.0054
Packagespring-boot-build.module.spring-boot-security.main:org.springframework.boot.security.autoconfigure.web
200.000.001.0079
Packagespring-boot-build.module.spring-boot-servlet.main:org.springframework.boot.servlet
100.000.001.00104
Packagespring-boot-build.module.spring-boot-web-server-test.main:org.springframework.boot.web.server.test
021.001.001.0063
Packagespring-boot-build.module.spring-boot-webclient-test.main:org.springframework.boot.webclient.test.autoconfigure
051.001.001.00263
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-aspectj.main:smoketest.aspectj.service
100.000.001.0045
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-data-rest.main:smoketest.data.rest.domain
100.000.001.00152
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-hibernate.main:smoketest.jpa.domain
100.000.001.00129
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-jetty.main:smoketest.jetty.util
100.000.001.0044
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-simple.main:smoketest.simple.service
100.000.001.0049
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-testng.main:smoketest.testng.service
100.000.001.0045
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-tomcat.main:smoketest.tomcat.util
100.000.001.0045
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-jetty.main:smoketest.websocket.jetty.reverse
100.000.001.0045
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-jetty.main:smoketest.websocket.jetty.snake
100.000.001.00464
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-tomcat.main:smoketest.websocket.tomcat.reverse
100.000.001.0045
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-tomcat.main:smoketest.websocket.tomcat.snake
100.000.001.00464
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-xml.main:smoketest.xml.service
100.000.001.0066
Packagespring-boot-build.test-support.spring-boot-test-support.main:org.springframework.boot.testsupport.logging
011.001.001.0056
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.builder
2120.090.000.91748
Packagespring-boot-build.core.spring-boot-test.main:org.springframework.boot.test.json
600.000.100.902671
Packagespring-boot-build.module.spring-boot-actuator-autoconfigure.main:org.springframework.boot.actuate.autoconfigure.endpoint.expose
1820.100.000.90221
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.info
810.110.000.891092
Packagespring-boot-build.module.spring-boot-graphql-test.main:org.springframework.boot.graphql.test.autoconfigure
170.881.000.88319
Packagespring-boot-build.module.spring-boot-devtools.main:org.springframework.boot.devtools.restart.classloader
300.000.140.86574
Packagespring-boot-build.module.spring-boot-micrometer-metrics.main:org.springframework.boot.micrometer.metrics
510.170.000.83158
Packagespring-boot-build.module.spring-boot-servlet.main:org.springframework.boot.servlet.filter
400.000.170.83260
Packagespring-boot-build.module.spring-boot-jooq-test.main:org.springframework.boot.jooq.test.autoconfigure
140.801.000.80214
Packagespring-boot-build.core.spring-boot-test.main:org.springframework.boot.test.http.server
600.000.250.75276
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.ansi
500.000.250.75594
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context.event
2130.130.130.75593
Packagespring-boot-build.module.spring-boot-cache-test.main:org.springframework.boot.cache.test.autoconfigure
130.751.000.7573
Packagespring-boot-build.module.spring-boot-data-cassandra-test.main:org.springframework.boot.data.cassandra.test.autoconfigure
130.751.000.75206
Packagespring-boot-build.module.spring-boot-data-couchbase-test.main:org.springframework.boot.data.couchbase.test.autoconfigure
130.751.000.75205
Packagespring-boot-build.module.spring-boot-data-mongodb-test.main:org.springframework.boot.data.mongodb.test.autoconfigure
130.751.000.75206
Packagespring-boot-build.module.spring-boot-data-redis-test.main:org.springframework.boot.data.redis.test.autoconfigure
130.751.000.75204
Packagespring-boot-build.module.spring-boot-devtools.main:org.springframework.boot.devtools.system
310.250.000.7588
Packagespring-boot-build.module.spring-boot-grpc-server.main:org.springframework.boot.grpc.server
310.250.000.75122
Packagespring-boot-build.module.spring-boot-security.main:org.springframework.boot.security.autoconfigure
930.250.000.75381
Packagespring-boot-build.module.spring-boot-sql.main:org.springframework.boot.sql.init
500.000.250.75391
Packagespring-boot-build.module.spring-boot-webflux-test.main:org.springframework.boot.webflux.test.autoconfigure
260.751.000.75326
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-data-jpa.main:smoketest.data.jpa.domain
200.000.250.75392
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-profile.main:smoketest.profile.service
100.000.250.75130
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-test.main:smoketest.test.domain
200.000.250.75185
Packagespring-boot-build.module.spring-boot-micrometer-metrics.main:org.springframework.boot.micrometer.metrics.autoconfigure.export.simple
1760.260.000.74183
Packagespring-boot-build.module.spring-boot-web-server.main:org.springframework.boot.web.server.autoconfigure
1140.270.000.73323
Packagespring-boot-build.module.spring-boot-jdbc.main:org.springframework.boot.jdbc
1810.050.220.731672
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.web.error
1100.000.290.71527
Packagespring-boot-build.module.spring-boot-micrometer-metrics.main:org.springframework.boot.micrometer.metrics.autoconfigure
3090.230.060.711131
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.origin
1700.000.300.70876
Packagespring-boot-build.module.spring-boot-data-jpa-test.main:org.springframework.boot.data.jpa.test.autoconfigure
370.701.000.70250
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.logging
1810.050.260.682448
Packagespring-boot-build.core.spring-boot-autoconfigure.main:org.springframework.boot.autoconfigure.web
930.250.070.68784
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context.properties.source
3220.060.270.67Architectural3912
Packagespring-boot-build.buildpack.spring-boot-buildpack-platform.main:org.springframework.boot.buildpack.platform.docker.type
520.290.040.672251
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.availability
800.000.330.67367
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.context
420.330.000.67652
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.ssl.jks
420.330.000.67216
Packagespring-boot-build.module.spring-boot-devtools.main:org.springframework.boot.devtools.settings
210.330.000.67137
Packagespring-boot-build.module.spring-boot-grpc-server.main:org.springframework.boot.grpc.server.autoconfigure.security.web.servlet
210.330.000.67144
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-hateoas.main:smoketest.hateoas.domain
100.000.330.67118
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-jetty.main:smoketest.websocket.jetty.client
100.000.330.67106
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-jetty.main:smoketest.websocket.jetty.echo
100.000.330.67111
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-tomcat.main:smoketest.websocket.tomcat.client
100.000.330.67106
Packagespring-boot-build.smoke-test.spring-boot-smoke-test-websocket-tomcat.main:smoketest.websocket.tomcat.echo
100.000.330.67111
Packagespring-boot-build.core.spring-boot-testcontainers.main:org.springframework.boot.testcontainers.context
240.671.000.67361
Packagespring-boot-build.module.spring-boot-http-client.main:org.springframework.boot.http.client
1630.160.180.673474
Packagespring-boot-build.core.spring-boot.main:org.springframework.boot.util
2200.000.380.63686
Packagespring-boot-build.module.spring-boot-devtools.main:org.springframework.boot.devtools.remote.server
200.000.380.63405