En kontrakt udtrykker de gensidige forpligtelser mellem to dele af et program, som samarbejder om løsningen af et problem
Et kontraktbrud opfattes som en fejl i programmet i forhold til specifikationen