Debugging Maude programs via runtime assertion checking and trace slicing