assumptions; when code executes, it has certain expectations about its environment, data, etc.,
and how its behaviors have modified program state.
DESIGN LIMITATION: a feature or behavior that can theoretically be used correctly, but could
lead to a vulnerability if not. For example, the functionality of strcpy() is a design limitation. It