With the release of CRM 2011 UR12, which introduced cross browser support, and the release of CRM 2013, there were two tools made available to you to check both your JavaScript code and your server side code for unsupported customizations:
Microsoft Dynamics CRM 2013 Custom Code Validation Tool
There’s an excellent blog post about these tools with video walkthroughs here.
I’ve spoken with many customers/partners lately about these tools in the context of verifying where they stand for upgradability and creating a remediation plan for any unsupported customizations that might break after upgrading. One of the things I have also been emphasizing is how these tools can continued to be used in your development cycles to run a sanity check scan on new customizations. By introducing this approach into your testing process, you decrease the probability you are implementing unsupported customizations that can break during upgrades.