Abstract: Refactorings are widely used in software and embedded systems engineering. They aim at reducing complexity or providing alternative designs. A correct refactoring must guarantee behavioural ...