When library APIs change, client code should change in response, in order to avoid erroneous behavior, compilation failures, or warnings. Previous research has introduced techniqu...
Embedded systems are rapidly growing in size, complexity, distribution, and heterogeneity. As a result, the traditional practice of developing one-off embedded applications that a...
The alignment of the software architecture and the functional requirements of a system is a demanding task because of the difficulty in tracing design elements to requirements. Th...
Bidirectional model transformation plays an important role in maintaining consistency between two models, and has many potential applications in software development, including mo...
Most software engineering techniques that deal with software products customization are based on anticipation: The software designer has to foresee, somehow, the future needs for ...