I'm not a pairs programming expert but it is something that looks very interesting. I found a list of actual research papers done by actual researchers though and I'm starting to dig in. There is also a video about pairs programming at this site. All of these papers are about using pairs programming to teach. Some are at the college level but some are at the middle school level. Middle school is an age group I am very interested in.
High schools are running out of room for electives these days. Pressure to teach to high stakes exit exams, to say nothing of high stakes entrance exams for college (SAT & ACT plus AP exams), are squeezing out anything that doesn't fit the preconceived idea of what college prep should be mean that CS as well as art and music are not fitting into schedules. Plus of course students are deciding much younger whether or not they are going to go onto college. So middle school is looking like an area where we need to start teaching the real problem solving skills that computer science can help with. Pairs programming looks like a way that might work. It has the added benefit of teaching students how to work together. That is an important life skill not matter what field one goes into.
Are you teaching computer science or related subjects at a middle school (or earlier)? If so I'd love to hear from you. What is working? What is not working? And is there any way I can help you?
[BTW the pointer to this pairs programming information (research by Linda Werner, PhD and Jill Denner, PhD) was something I found in the latest edition of the CSTA Voice - the newsletter of the Computer Science Teacher's Association. If you are a Computer Science teacher and didn't get a copy of your own jump to the CSTA web site and join up. Do it today!]