Changes to software systems often entail a loss of quality, especially if they have to be accomplished under pressure of time. Long-term software projects must counter this phenome...
Once you have proved your refinement correct, that is not the end. Real products, and their accompanying specifications, develop over time, with new improved versions having added...
This article proposes a case study to evaluate the suitability of graph transformation tools for program refactoring. In order to qualify for this purpose, a graph transformation s...
: Refactoring is a process meant to improve the internal quality of software systems. However, while on one hand, the guidelines for this delicate process are still empirical and q...
—In the multicore era, a major programming task will be to make programs more parallel. This is tedious because it requires changing many lines of code, and it is error-prone and...