With the constant demand for system change and upgrades comes the need to simplify and ensure accuracy in this process. As structural boundaries decay, non-local modifications compound the costs of system evolution and adaptation. Aspect-Oriented Programming (AOP) aims to improve structural boundaries for concerns that are inherently crosscutting - no single hierarchical decomposition can localize both the crosscutting concern and the concerns it crosscuts.
This paper provides a case study of three crosscutting concerns within a rapidly evolving memory management subsystem of a JVM. The study shows how aspects can be structured as a natural locus of control, and how this new modularity provides leverage for system evolution and adaptation. Demonstrated benefits include enhanced extensibility for a dynamic analysis tool, centralized configurability for a subsystem-wide synchronization mechanism, and increased verifiability for a domain-specific design pattern.