Dependable Software Engineering. Theories Tools and Applications