I took a look at three different research works:
1. The Costs and Benefits of Pair Programming, by Alistair Cockburn and Laurie Williams, from University of Utah. Link to paper.
It seems the research metodology used was interviews as well as revisiting previous studies made in the univertisy, which se
Some of the conclusions, quoted from previews works (properly aknowledged) state that a "15% less defects" for every one thousand lines of code.
Significantly, the resulting code has about 15% fewer defects. (These
results are statistically significant.) Figure 2 shows the
post-development test cases the students passed for each program –
essentially the percentage of the instructor’s test cases passed.
2. Effectiveness of PairProgramming:A Meta-Analysis (Hannay,Dyba,Arisholm and Sjøberg), from the University of Oslo, Norway. Link to paper
It uses a much more scientific approach, with systematic reviews and mata-analisys and has lots or charts and tables obtained after number crunching. It states in its conclusions that:
Pair programming may also have a time gain on simpler tasks. By
cooperating, programmers may complete tasks and attain goals that
would be difficult or impossible if they worked individually. Junior
pair programmers, for example, seem able to achieve approximately the
same level of correctness in about the same amount of time (duration) as senior individuals.
In the negative side:
3. Effective Pair Programming Practice - An Experimental Study (Yanamadala and Madina), Blekinge Tekniska Hogskola, Sweden. Link to paper
The main result of this study is that the pair programming practice
used by the subjects, instead of solo programming, did not
significantly affect branch coverage or mutation score indicator.
My personal experience is that PP does have a positive impact in code quality and/or correctness whenever the knowledge gap between programmers is not too big.