The proponents of functional programming languages assert that functional programming makes it easier to reason about code. Those in favor of statically typed languages say that their compilers catch enough errors to make up for the additional complexity of type systems. But everything I read on these topics is based on rational argument, not on empirical data.
Are there any empirical studies on what effects the different categories of programming languages have on defect rates or other quality metrics?
(The answers to this question seem to indicate that there are no such studies, at least not for the dynamic vs. static debate)