Mathematical and software engineering (Varepsilon Ltd, 2015)