AtlasArc

Hotspot Risk

Simple Java Mail · AtlasArc 1.0.1+736db9b9 · 2026-07-31T22:25: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 ranked52
High distance16
High coupling15
Cycle packages24
CoverageNot loaded

Top Risk Drivers

Primary driverDistanceFan-inFan-out
Packagecore-module.main:org.simplejavamail.internal.util
Cycle participation0.77274
Packagecore-module.main:org.simplejavamail.api.email.config
Cycle participation0.85112
Packagecore-module.main:org.simplejavamail.api.email
Cycle participation0.37277
Packagecore-module.main:org.simplejavamail.internal.config
Visibility0.6742
Packagecore-module.main:org.simplejavamail.config
Visibility0.5654
Packagecore-module.main:org.simplejavamail.api.internal.clisupport.model
Visibility0.5171
Packagesimple-java-mail.main:org.simplejavamail.email
Visibility0.5022
Packagecore-module.main:org.simplejavamail.api.mailer.config
Cycle participation0.35164
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 10 20 30 40 50 60 0 20 40 60 80 100 120 core-module.main org simplejavamail api simple-java-mail.… org simplejavamail spring-module org simplejavamail springbootsupport mailer cli-module org simplejavamail internal internal clisupport email converter internal internal mimemessage mailer internal authenticated-soc… org simplejavamail
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 core-module.main org simplejavamail api simple-java-mail.… org simplejavamail spring-module org simplejavamail springbootsupport mailer cli-module org simplejavamail internal internal clisupport email converter internal internal mimemessage mailer internal authenticated-soc… org simplejavamail
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 2 4 6 8 internal authenticated-soc… org simplejavamail internal authenticatedsock… internal socks5server batch-module org simplejavamail internal batchsupport email authenticatedsock… smimesupport util outlook-module org simplejavamail internal outlooksupport internal email spring-module org simplejavamail core-module.main
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 0 5 10 15 20 25 internal email internal mimemessage mailer config util socks5client clisupport converter config smimesupport config mailer recipient therapijavadoc springbootsupport springsupport socks5server model valueinterpreters batchsupport outlook converter
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 5 10 15 20 25 springbootsupport mimemessage internal email mailer util config config clisupport valueinterpreters model model smimesupport socks5client therapijavadoc modules model internal msg mailer util testutil batchsupport dkimsupport recipient socks5server io cli
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 common io concurrent serialization config util config concurrent moduleloader outlook config general model msg email model modules email config socks5client builder model demo internal model valueinterpreters util builder
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
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport.common
300.000.001.0021
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport.socks5server.io
100.000.001.00163
Packagebatch-module:org.simplejavamail.internal.batchsupport.concurrent
100.000.001.0056
Packagecli-module:org.simplejavamail.internal.clisupport.serialization
200.000.001.0084
Packagecore-module.main:org.simplejavamail.api.email.config
1120.150.000.85Architectural699
Packagecore-module.main:org.simplejavamail.internal.util
2740.130.100.77Architectural905
Packagecore-module.main:org.simplejavamail.internal.config
420.330.000.67Architectural57
Packagecore-module.main:org.simplejavamail.internal.util.concurrent
210.330.000.6753
Packagesimple-java-mail.main:org.simplejavamail.internal.moduleloader
630.330.000.67133
Packagecore-module.main:org.simplejavamail.api.outlook
320.400.000.60243
Packagecore-module.main:org.simplejavamail.config
540.440.000.56Architectural599
Packagecore-module.main:org.simplejavamail.api.internal.general
610.140.330.52117
Packagecore-module.main:org.simplejavamail.api.internal.clisupport.model
710.130.360.51Architectural216
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport.socks5server.msg
110.500.000.50197
Packagesimple-java-mail.main:org.simplejavamail.email
220.500.000.50Architectural129
Packagesmime-module:org.simplejavamail.internal.smimesupport.model
330.500.000.50Architectural211
Packagecore-module.main:org.simplejavamail.internal.modules
12100.451.000.45198
Packagecore-module.main:org.simplejavamail.api.email
2770.210.430.37Architectural3042
Packagecore-module.main:org.simplejavamail.api.mailer.config
1640.200.450.35Architectural1245
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport.socks5client
120.670.000.33857
Packagecore-module.main:org.simplejavamail.api.internal.smimesupport.builder
420.331.000.3313
Packageoutlook-module:org.simplejavamail.internal.outlooksupport.internal.model
110.500.200.30288
Packagecore-test-module:demo
130.750.000.25Architectural53
Packagesimple-java-mail.main:org.simplejavamail.converter.internal
130.750.000.25Architectural23
Packagecore-module.main:org.simplejavamail.api.internal.smimesupport.model
810.110.670.22Architectural77
Packagecli-module:org.simplejavamail.internal.clisupport.valueinterpreters
140.800.000.20272
Packagesimple-java-mail.main:org.simplejavamail.mailer.internal.util
280.800.000.20Architectural198
Packagesmime-module:org.simplejavamail.internal.smimesupport.builder
140.800.000.20Architectural30
Packagesimple-java-mail.main:org.simplejavamail.converter
4170.810.000.19Architectural824
Packagecore-module.main:org.simplejavamail.api.internal.outlooksupport.model
520.290.890.17142
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport.socks5server
150.830.000.17290
Packagecli-module:org.simplejavamail.internal.clisupport
2110.850.000.15Nested831
Packagesimple-java-mail.main:org.simplejavamail.converter.internal.mimemessage
390.750.110.14Architectural2005
Packagecore-module.main:org.simplejavamail.api.mailer
860.430.700.13Architectural1556
Packagesmime-module:org.simplejavamail.internal.smimesupport
1120.920.000.08Architectural681
Packagesimple-java-mail.main:org.simplejavamail.mailer
190.900.170.07Architectural456
Packagesimple-java-mail.main:org.simplejavamail.email.internal
5150.750.200.05Architectural2322
Packagesimple-java-mail.main:org.simplejavamail.mailer.internal
6190.760.290.05Architectural3154
Packagecore-test-module:testutil
140.800.170.03Architectural122
Packageauthenticated-socks-module:org.simplejavamail.internal.authenticatedsockssupport
071.000.000.0066
Packagebatch-module:org.simplejavamail.internal.batchsupport
051.000.000.00267
Packagecli-module:org.simplejavamail.cli
011.000.000.0026
Packagecli-module:org.simplejavamail.internal.clisupport.therapijavadoc
140.800.200.00Nested430
Packagecore-module.main:org.simplejavamail
1400.001.000.0013
Packagecore-module.main:org.simplejavamail.api.internal.authenticatedsockssupport.common
200.001.000.0024
Packagecore-module.main:org.simplejavamail.api.internal.authenticatedsockssupport.socks5server
400.001.000.0023
Packagecore-module.main:org.simplejavamail.api.internal.batchsupport
300.001.000.0014
Packagedkim-module:org.simplejavamail.internal.dkimsupport
051.000.000.00107
Packageoutlook-module:org.simplejavamail.internal.outlooksupport.converter
081.000.000.00229
Packagesimple-java-mail.main:org.simplejavamail.recipient
031.000.000.00435
Packagespring-module:org.simplejavamail.springsupport
031.000.000.00367
Packagespring-module:org.simplejavamail.springbootsupport
000.00402