Debugging Techniques
Stratego -- Strategies for Program Transformation
Here are some debugging techniques
- Reduce the specification and the input to localize the error
Format Checking
Unit Testing
- Write a unit test using StrategoUnit?
Debug
- Print intermediate results using
debug
- Use the debug strategy with an argument. It turns out that the debug strategy will accept a string prefaced by an exclamation mark, thus: debug(!"after doing something or other: ") If you do this, it will print the current aterm as usual, but first it will print the string, so that you know where in the program it is.
Tracing
Pitfalls
- Compare your code with the list of PitFalls