AdaControl is a free (GMGPL) tool that detects the use of various kinds of constructs in Ada programs. Its first goal is to control proper usage of style or programming rules, but it can also be used as a powerful tool to search for use (or non-use) of various forms of programming styles or design patterns. Searched elements range from very simple, like the occurrence of certain entities, declarations, or statements, to very sophisticated, like verifying that certain programming patterns are being obeyed.
Also available is the AdaControl User Guide, which is probably a good place to start if you’re new to AdaControl.
If you want to program new rules into AdaControl, then the AdaControl Programmer Manual is what you’re looking for.
You can read the release announcement here
As an extra bonus, I found a list of downloadable papers written by J-P. Rosen. There are some mighty interesting things to be found on that page, so be sure to check it out.