Developers often fail to respect the intentions behind a design due to poor communication of design intent. SCL (Structural Constraint Language) helps capture and confirm aspects of design intent by using structural constraints on a program model extracted through static analysis. The original designer expresses design intent in terms of constraints on the program model using the SCL language, and the SCL conformance checking tool examines developer code to confirm that the code honors these constraints. This thesis presents the design of the SCL language and its checker, a set of practical examples where SCL has been applied, and our experience. SCL has a formal foundation, supports a wide range of design intent, is extensible for additional expressive power and checking capabilities, scales to a million lines of code, and is relatively easy to use.