Fcl: Automatically Detecting Structural Errors In Framework-Based Development