You can measure a software system's value by its modularity. The more modular the system, the easier it is to produce and extend. Aspect-oriented programming technologies aim to improve system modularity by modularizing crosscutting concerns. Global properties and programming and design issues can lead to crosscutting concerns--for example, error handling or transaction code, interacting features, and reliability and security.
The guest editors introduce aspect-oriented programming and describe this special issue's articles, which explain the use of aspect-oriented programming to simplify enterprise and system software, the need to expand an interface's meaning in the presence of aspects, and the application of aspects to design and requirements activities.