Dynamic analyses, such as testing and profiling, play a key
role in state-of-art approaches to software quality assurance (QA). With
rare exception, these analyses are performed in-house, on developer
platforms, using developer-provided input workloads. The shortcomings of
focusing on in-house QA efforts alone include increased cost and schedule
for extensive QA activities and misleading results when the input test-cases and workload
differs from actual workloads or when the in-house system or execution
environment differ from that found in the field.
To improve this situation we are developing tools and techniques to support a new approach to dynamic analyses called Distributed, Continuous Quality Assurance (DCQA). that execute around-the-world and around-the-clock, on a virutal computing pool made of up of numerous end-user machines. Our approach divides QA processes into multiple subtasks that are intelligently distributed to client machines around the world, executed by them, and their results returned to central collection sites where they are fused together to complete the overall QA process.
Some specific example of this work include: