The main objectives of the research projects in this area are methods and tools that allow the programmer to attain a high degree of confidence that his or her programs are correct, efficient, and general. A major research focus is on an approach called generic programming, whose techniques permit the definition of efficient algorithms and data structures at an abstract level, in effect accomplishing many related programming tasks simultaneously. Other research concentrates on the correctness issue, primarily through the approach of mathematical specifications and proofs. In support of these activities, there is also research on computer tools for automated proof of rigorously-formulated properties of software systems. Collaborative Computing Design of large systems is inherently a collaborative activity, generally calling upon the expertise of multiple disciplines from both customer and designer perspectives.
Researchers can monitor, track, and assess team practices using special facilities there.
This team is also working on a Collaborative Classroom that will have space for up to 42 students to work in teams of any configuration.