Software Quality Assurance: From Theory to Implementation