Software Engineering: Specification, Implementation, Verification - Alagić, Suad. (Springer International Publishing : Imprint: Springer, 2017)