Annotations for Seamless Aspect-Based Software Evolution
Source: ETH Zurich
The authors are developing a dynamic software evolution system that leverages aspect technology to encapsulate software updates. Ideally, an evolution system provides as much automation as possible. Certain changes, however, defeat automation. For instance, field additions cannot be concisely captured without the feedback of the programmer. Rather than reconstructing the missing information in retrospect, they propose to gather the necessary meta-data along with the development process. They use Java annotations for that purpose: for instance, programmers may annotate added fields with their corresponding initialization. In some cases, the software development environment may even infer annotations from the actions taken by the programmer, and therefore, annotations enable a seamless software evolution cycle.