Developing a program analyzer

Non-trivial tasks: