Software failure model