a concern whose implementation results in its corresponding code being tangled with the implementation code of other concerns
a serious problem since it is harder to understand, reuse, extend, adapt and maintain the concern because it is spread over so many places
a single concern in the design or implementation of a system that impacts multiple places in the static structure of the system or in its runtime control flow