tes3lint is a command-line tool for investigating potential problems in TES3 plugins. It is written in Perl and runs natively on Windows or Linux.
Highlights from the http://code.google.com/p/mlox/wiki/Tes3lint:
Features
* Find out if the plugin defines autocalc'ed spells.
* Find out if the plugin has an implicit dependency on Tribunal/Bloodmoon functions because it uses them but does not list the expansion as a Master.
* List Evil GMSTs.
* Find deprecated usage of Leveled List scripting functions on standard Bethesda Lists.
* Find duplicate (i.e.: "dirty/unclean") records that are unchanged from one of the masters.
* Shows duplicate and modified INFO dialogs.
* Find CELLs that trigger the FOGBUG.
* Find any CELLs where fog density in DATA is different from AMBI subrecords.
* Find problematic usage of GetSoundPlaying for detecting events.
* Find dirty junk cells that are apparently injected by some CS bug.
* Find scripts that are unaware of MenuMode.
* Show if plugin is missing Author/Description/Version from plugin header.
* Find duplicate/modified INFOs.
* Finds potentially buggy case where INFO dialogs have had their IDs changed.
* Find all records in the plugin that override records in its Masters.
* Find problematic scripts attached to Bethesda doors.
Here is a http://code.google.com/p/mlox/wiki/Tes3lintSample to get an idea of some of the things it will tell you about a plugin.
The wiki page explains how to http://code.google.com/p/mlox/wiki/Tes3lint#Get_tes3lint and http://code.google.com/p/mlox/wiki/Tes3lint#Installing_and_Running_tes3lint tes3lint.