Anche con specifiche dettagliate per lo scambio di dati tra programmi per computer, è probabile che i dati generati da vecchie versioni di programmi non siano conformi al 100% alle specifiche, o che utilizzino vecchie caratteristiche oscure che poche persone sanno come implementarle. Di conseguenza, le aziende devono conservare una libreria di "campioni strani" per testare il loro software.
Nella buona progettazione del software, queste stranezze possono essere confinate in un piccolo strato di librerie chiamate "Abstraction Layer". Tuttavia, la maggior parte degli strati di astrazione ha troncato troppe funzionalità (al fine di impedire al software di livello superiore di toccare le parti instabili del software di livello inferiore).
A volte non è possibile nascondere completamente le parti instabili. Quali sono le strategie per far fronte a tali soluzioni alternative necessarie?
((Per favore perdona le mie scarse competenze linguistiche.)