Managing Software Design Erosion With Design Conformance Checking