Refactoring aims to improve the quality of a software systems’ structure, which tends to degrade as the system evolves. While manually determining useful refactorings can be cha...
Software inspection is a known technique for improving software quality. It involves carefully examining the code, the design, and the documentation of software and checking these...
Aspect-oriented software presents new challenges for the designers of static analyses. Our work aims to establish systematic foundations for dataflow analysis of AspectJ software....
Given the rapid rise of model-driven software development methodologies, it is highly desirable that tools be developed to support the use of design patterns in this context. This...
Hong Zhu, Ian Bayley, Lijun Shan, Richard Amphlett
The design of software toolkits embodies a fundamental tension. On the one hand, it aims to reduce programmer effort by providing prefabricated, reusable software modules encapsula...