Analysis And Enforcement Of Properties In Software Systems