Aspect-oriented-programming is a relatively new technique that has evolved on top of the
already well-established approach of object-oriented programming. When it is used correctly it
promises to remove many redundant parts of a code that appear repeatedly in an application
essentially untangling the original code. Thus it can lead to a cleaner more separated
software design to greater modularity and maintainability. Time-savings in software
engineering can also be huge cost-savings and anything that increases software quality is a
welcome sight in an industry that in parts still suffers from a bad reputation concerning the
quality of its products. But used in the wrong way or with insufficient knowledge
aspect-oriented programming can result in the opposite. Unintended side effects may introduce
new bugs into an application and therefore it may be just one of the many negative
consequences. In any case there is a huge lack of empirical research on the subject and in
software engineering in general. Due to that fact the question arises in how far hard facts
can be drawn. This book deals with part of that problem by evaluating the aspect-oriented
approach in a carefully designed and controlled experiment. On the basis of different tasks
that were solved by participants of this study the aspect-oriented approach (represented by
AspectJ) is compared with a plain object-oriented approach (represented by Java). The book
starts with an introduction to the topic and further it provides on the one hand the survey
s motivation and on the other hand some background information. A short chapter on
aspect-oriented programming and empirical research may help readers who are unfamiliar with any
of the subjects. Then the survey itself is described in detail i.e. its design its
implementation and its evaluation followed by a thorough discussion of the results. And the
answer to the question Can aspect-orientated programming keep its promise in productivity? is
given.