Sav softver ima nedostatke, posebno u današnjem složenom kodu s tisućama redaka koji se moraju tek tako formulirati. Institut inženjera elektrotehnike i elektronike (IEEE) svjestan je ove dileme. Početkom 2014. godine IEEE je pokrenuo novu inicijativu: Centar za sigurno dizajn računalnog društva (CSD). To je misija? Davanje smjernica za prepoznavanje softverskih sustava koji su osjetljivi na kompromise, te dizajniranje i izgradnja softverskih sustava s jakim prepoznatljivim sigurnosnim svojstvima
Moglo bi se reći da je to već učinjeno. To je istina. No, CSD namjerava koristiti drugačiji pristup prebacujući dio fokusa u sigurnost s pronalaženja grešaka na prepoznavanje uobičajenih nedostataka dizajna u nadi da softverski arhitekti mogu jedni od drugih učiti.
Da bi dobio takve informacije, CSD je potražio pomoć veterana u području softverske sigurnosti - manje-više onih koji su ili učinili spomenute pogreške ili su imali poteškoće u njihovom ispravljanju. Nakon mnogo razmišljanja, skupina je sakupila svoja razmišljanja u radu, "Izbjegavanje 10 najboljih nedostataka u dizajnu softverskog softvera". IEEE je spomenuo da su mnoge manjkavosti zbog kojih je popis dobro poznate već desetljećima, ali i dalje predstavljaju problem. Ovdje ćemo pogledati te nedostatke - i kako ih riješiti.