Goal:
Verification
Consider the GrowList.java code from the in-class exercises. Let's suppose we drop the "grow" constraint, and allow the list to both grow and shrink.
To do this, add a method remove()
to the API.
Provide a contract for remove()
.
Do not change the representation, the abstraction function, or the representation invariant.
Again, the deliverable is a story.
Your story should pay specific attention
to why you implemented remove()
the way you did.
You should also address the efficiency
consequences of your implementation.
Grading: