Hogyan kerüljük el a szoftverproblémákat
Vegyes Cikkek / / November 29, 2021
Ebben a digitális korszakban bizonyára hallott már olyan közösségi média óriásokról, mint a Facebook és a Twitter, valamint az olyan e-kereskedelmi platformokról, mint az Alibaba és az Amazon. Ezek az online webhelyek különféle szoftvercsomagokra támaszkodnak működésükhöz. Ezek a programok őszintén megváltoztatták munka-, gondolkodás- és életvitelünket.
Emellett számos olyan eszközt, amely korábban kizárólag mechanikus jellegű volt, ma már szoftver vezérli. Például a termosztátok egykor elektromechanikus eszközök voltak. Jelenleg azonban nagymértékben támaszkodnak a szoftverre a működésükhöz.
Azonban, szoftverhibák meglehetősen problémás lehet, különösen, ha a mindennapi tevékenységeink során fokozottan támaszkodunk rájuk. Valójában jó néhány alkalom volt, amikor a szoftver nem teljesítette a tervezett célt, ami kellemetlen eredményekhez vezetett.
Ebben a cikkben négy olyan esetről beszélünk, amikor a szoftver teljesítménye jelentősen lemaradt, és arról, hogyan lehet elkerülni az ilyen szoftverproblémákat.
1. Az Egyesült Államok több állama 911-es kimaradása
A 911 egy kritikus szolgáltatás, amely lehetővé teszi az egyének számára, hogy szükség esetén kapcsolatba léphessenek a sürgősségi személyzettel. Időnként a 911-es segélyhívó diszpécserekkel való kapcsolatfelvétel szó szerint különbséget tehet élet és halál között.
Éppen ezért katasztrófa volt, amikor 2014. április 9-én A 911-es hívás átirányítása nem sikerült az Egyesült Államok hét államában, köztük Kaliforniában, Floridában, Minnesotában, Észak-Karolinában, Pennsylvaniában, Dél-Karolinában és Washingtonban.
Ezt a kimaradást egy megelőzhető kódolási hiba okozta, amely az Intrado tulajdonában lévő, coloradói segélyhívás-kezelő központban történt.
2. A United Airlines flottájának leállítása
2015 júliusában a United Airlines kénytelen volt felhagyta a teljes flottáját repülőgépek egy szoftverhiba miatt. Ez világszerte több mint 4900 járatot érintett, és sok utast a repülőtereken rekedt, és nyilvánvalóan csalódott volt.
Valószínűleg ennek gazdasági hatása is volt, mivel a légitársaságnak sok utast kellett volna kárpótolnia a kellemetlenségekért. Valószínűleg több fontos üzleti megbeszélés is előfordult, amelyek a földelés miatt összekuszálódtak.
3. A Toyota Camry gázpedál meghibásodása
2007 szeptemberében Jean Bookout az oklahomai Interstate 69-es főúton utazott Barbara Schwarz utasával, amikor nehézségekbe ütközött. irányítja a Toyota Camry-jét.
Megpróbálta felemelni a lábát a gázpedálról, de az autó tovább gyorsult. A fékpedál nem állította meg az autót, ezért kénytelen volt vészfékezni.
Sajnos emiatt az autó a töltésbe sodorta. Schwarz ennek következtében meghalt, Bookout pedig öt hónapra kórházba került kritikus sérülései miatt.
A feltételezések szerint a baleset több kódolási hiányosság miatt következett be, amelyek a Camry CPU-jában lévő feladat összeomlásához vezettek. Ez a CPU rendkívül sok funkciót vezérelne, beleértve a gyújtást, a gázkart és a sebességtartó automatikát.
A Toyota kódja kusza káosz lett, miután több éven át új kódokat raktak fel a régiekre. Ezt általában „spagetti kódnak” nevezik.
A Bookout balesete azonban rávilágított erre a problémára, és rávilágított a Toyota szoftverfolyamatának hibáira. Még azt is megállapították, hogy ennek több mint 10 millió módja van nem kívánt gyorsulás előfordulhat, a Toyota kódjának felépítése alapján.
Nest termosztát hiba
A Nest egy cég, tulajdonosa Alphabet, ami intelligens termosztátokat készít. Ezek a termosztátok meglehetősen ügyesek, és lehetővé teszik a felhasználók számára, hogy okostelefonjukról szabályozzák otthonuk hőmérsékletét.
Tavaly télen a Nest termosztátok hibát tapasztalt hibás szoftverfrissítés formájában, ami miatt az akkumulátoruk lemerült. Sajnos ez a hiba a tél közepén történt, így több felhasználó átmenetileg fűtés nélkül maradt. Ez egy olyan dolog, amit biztosan nem akarsz, hogy megtörténjen ebben az évszakban.
A szoftverproblémák rövid elemzése
Az olyan megközelítések, mint a modellalapú tervezés és a TLA+ lehetővé teszik a fejlesztők számára, hogy átfogóbb képet kapjanak szoftvereik működéséről.
Brett Victor, egy kiemelkedő számítástechnikai kutató úgy véli, hogy van a kapcsolat megszakítása a programozók és a kódokkal megoldandó problémák között.
A kapcsolat megszakítása miatt a programozók nehezen tudják elképzelni, hogy mit akarnak bevinni a kódokba. Victor úgy gondolja, hogy ez az egyik hozzájáruló tényező ahhoz, hogy a szoftverek hemzsegjenek a hibáktól.
Van azonban remény. Megközelítések, mint pl modell alapú tervezés és TLA+ lehetővé teszi a fejlesztők számára, hogy átfogóbb képet kapjanak szoftvereik működéséről.
A modell alapú tervezés, ahogy a neve is sugallja, vizuális modelleken keresztül teszi lehetővé a szoftverek fejlesztését. A TLA+, amely a cselekvések időbeli logikájának rövidítése, egy olyan nyelv, amelyet számítógépes programok specifikációinak megírására terveztek. A TLA+ nagyszerűsége az, hogy lehetővé teszi a szoftver teljes körű tesztelését és ellenőrzését, mielőtt azok nyilvánosságra kerülnének.
A modellalapú tervezés és a TLA+ is bevált már. Eszterel technológiák, egy szoftverfejlesztő cég, modellalapú tervezést használ a biztonság szempontjából kritikus szoftverek készítéséhez, míg a TLA+-t olyanok használják, mint a A Microsoft kijavítja az esetleges katasztrofális Xbox-hibát, az Európai Űrügynökség pedig átírja a kódokat egy olyan szondához, amely üstökös.
A programozók nagy becsben tartják a kódírás folyamatát. Sokukat egyszerűen felkeltik a kódok írásának folyamata. Ezért kihívást jelent néhány programozót rávenni az olyan megközelítések elfogadására, mint a modellalapú tervezés és a TLA+. Ezeket a megközelítéseket gyakran szigorúan akadémikusnak tekintik, és a valóságban nem használhatók. A szemléletváltásnak azonban a lehető legkorábban meg kell történnie.
Végső gondolatok
A szoftvereket egyre gyakrabban használják olyan alkalmazásokban, amelyek beépített biztonsági óvintézkedéseket igényelnek. A szoftvertervezés jobb módszereit mindenhol be kell vezetni, mivel az ilyen alkalmazások létfontosságúak az életünkben.
Az olyan folyamatok, mint az automatizálás, manapság nagymértékben támaszkodnak szoftverekre, de a kódsor egyetlen hibája komoly visszaesésekhez vezethet, amint azt a fenti esetek mutatják.
Most képzelje el, hogy valami olyasmit, mint a mesterséges intelligencia (AI) építenek be ezekbe az alkalmazásokba. Az AI az önmagában is elég ijesztő szoftverhiba nélkül. Adjon hozzá hibákat a keverékhez, és nem tudja, mi történhet.
Azonban van itt egy ezüst bélés. Egy kis munkával és néhány új eszközzel jobb szoftvereket és mesterséges intelligenciát készíthetünk, ha megalapozottabban tervezzük és teszteljük a csapokhoz.
Reméljük, hogy ezt a kritikus kérdést az érintett hatóságok komolyan veszik, hogy a szoftverben rejlő lehetőségeket teljes mértékben kihasználhassuk, de csak egy biztonságosabb és intelligensebb jövő építésére.