Android

Kako izbjeći probleme sa softverom

Week 7, continued

Week 7, continued

Sadržaj:

Anonim

U ovom digitalnom dobu sigurno ste čuli za divove društvenih medija poput Facebooka i Twittera i platforme za e-trgovinu poput Alibabe i Amazon. Ove se internetske stranice oslanjaju na različite softverske pakete za svoj rad. Ti su programi sasvim iskreno promijenili način na koji radimo, razmišljamo i živimo.

Osim toga, mnogi uređaji koji su ranije imali isključivo mehaničku prirodu sada upravlja softverom. Na primjer, termostati su nekad bili elektromehanički uređaji. Međutim, sada se uveliko oslanjaju na softver za rad.

Međutim, programske pogreške mogu biti prilično problematične, pogotovo ako se sve više oslanjamo na njih u svakodnevnim aktivnostima. Zapravo je zapravo bilo prilično slučajeva da je softver promašio predviđenu svrhu, što je dovelo do neugodnih rezultata.

, govorimo o 4 slučaja u kojima je izvedba softvera uglavnom propustila svoj trag i kako izbjeći takve probleme sa softverom.

Pročitajte i: 10 razloga s kojima ne biste trebali žuriti s kupnjom iPhonea X

1. Višenamjenski nedostatak SAD-a 911

911 je kritična usluga koja omogućava pojedincima da se po potrebi obrate osoblju za hitne slučajeve. Ponekad, kontakt s dispečerima za hitne slučajeve putem broja 911 može doslovno napraviti razliku između života i smrti.

Stoga je bila prilično katastrofa kada je 9. travnja 2014. godine 911 usmjeravanja poziva propalo u sedam američkih država, uključujući Kaliforniju, Floridu, Minnesotu, Sjevernu Karolinu, Pensilvaniju, Južnu Karolinu i Washington.

Taj je prekid uzrokovan spriječivom greškom kodiranja, koja se dogodila u centru za upravljanje pozivima za hitne slučajeve u Koloradu koji je bio u vlasništvu Intrada.

2. Prizemljenje flote United Airlinesa

U srpnju 2015., United Airlines je bio prisiljen prizemljiti cijelu flotu zrakoplova zbog softverske propuste. To je utjecalo na više od 4.900 letova na globalnoj razini i mnoge putnike ostavilo nasukane u zračnim lukama i očito frustrirano.

Vjerojatno je došlo i do gospodarskog učinka, jer bi zrakoplovna kompanija mnogim putnicima morala nadoknaditi neugodnosti. Vjerojatno je bilo i nekoliko važnih poslovnih sastanaka, koji su bili zatvoreni zbog uzemljenja.

3. Neispravnost pedale ubrzivača Toyota Camry

U rujnu 2007. Jean Bookout putovao je Interstate Highway 69 u Oklahomi sa putnicom Barbarom Schwarz, kad je naišao na poteškoće u kontroli svog Toyota Camryja.

Pokušala je podići noge s leptira za gas, ali automobil je i dalje ubrzavao. Papučica kočnice nije uspjela zaustaviti automobil pa je bila prisiljena koristiti svoju kočnicu za nuždu.

Nažalost, ovo je auto poslalo u nasip. Schwarz je umro kao posljedica, a Bookout je zbog kritičnih ozljeda hospitaliziran pet mjeseci.

Nagađalo se da je do nesreće došlo zbog nekoliko neadekvatnosti kodiranja koje su dovele do rušenja zadatka u Camryjevom CPU-u. Ovaj procesor kontrolirao bi neizmjerno velik broj funkcija, uključujući paljenje, kontrolu gasa i tempomat.

Toyotin kôd postao je zapetljan nered nakon što su nekoliko godina na nove kode skupljene nove šifre. Obično se to naziva "kôd za špagete".

Špageti kod nepotrebno je složen i čini gotovo nemogućim pronaći pogreške. Štoviše, Toyota je također prekršila nekoliko sigurnosnih pravila u svom kodiranju. Treba napomenuti da ovo nije izolirani slučaj nenamjenskog ubrzanja u Toyoti.

No, nesreća Bookouta donijela je ovo pitanje na vidjelo i ukazala na Toyotine mane u njihovom procesu softvera. Čak je utvrđeno da postoji više od 10 milijuna načina za potencijalno neželjeno ubrzanje na temelju načina strukturiranja Toyotinog koda.

Neuspjeh gnijezda termostata

Nest je tvrtka u vlasništvu Alphabeta koja proizvodi pametne termostate. Ovi termostati su prilično izvrsni i omogućuju korisnicima kontrolu temperature u svojim domovima sa svojih pametnih telefona.

Prošle zime, Nest termostati doživjeli su kvar u obliku neispravnog ažuriranja softvera, zbog čega su im se baterije ispraznile. Nažalost, ova se pogreška dogodila usred zime, nekoliko korisnika privremeno je ostavilo bez topline. To je definitivno nešto što ne želite da se dogodi u ovo doba godine.

Pogledajte sljedeće: Sefire nisu toliko trivijalne koliko su ih društveni mediji učinili kasnim

Kratka analiza problema softvera

Pristupi poput dizajna temeljenog na modelima i TLA + omogućuju programerima da dobiju bolji pregled kako njihov softver funkcionira.

Brett Victor, ugledni računalni istraživač, smatra kako postoji veza između programera i problema koje oni pokušavaju riješiti kodovima.

Zbog tog prekida veze programerima je teško zamisliti što pokušavaju unijeti u kodove. Victor smatra da je to jedan od čimbenika koji doprinose tome da softver ima pune grešaka.

Međutim, ima nade. Pristupi poput dizajna temeljenog na modelima i TLA + omogućuju programerima da dobiju bolji pregled kako njihov softver funkcionira.

Dizajn temeljen na modelima, kao što i ime sugerira, omogućava razvoj softvera putem vizualnih modela. TLA +, što je kratica za Temporal Logic of Actions, jezik dizajniran za pisanje specifikacija računalnog programa. Ono što je sjajno u vezi s TLA + jest da omogućuje iscrpno testiranje i provjeru softvera prije nego što se objavi.

I dizajn zasnovan na modelu i TLA + već su dokazali svoju sol. Esterel tehnologija, tvrtka za razvoj softvera, koristi dizajn zasnovan na modelima za izgradnju sigurnosno kritičnog softvera, dok Microsoftovi TLA + koriste kako bi popravili moguću katastrofalnu Xbox pogrešku, a Europska svemirska agencija napisala je kodove za probu koja je sletio na komet.

Programeri visoko cijene postupak pisanja koda. Mnogi od njih su prilično jednostavno zaintrigirani postupkom pisanja kodova. Stoga je izazov neki programeri prihvatiti pristupe poput dizajna temeljenog na modelima i TLA +. Ti se pristupi često percipiraju kao strogo akademski bez održivosti u stvarnom svijetu. Međutim, promjena stajališta mora doći što je prije moguće.

Pročitajte i: Potičemo djecu prema slijepoći

Završne misli

Softver se sve više koristi u aplikacijama koje zahtijevaju ugrađene sigurnosne mjere opreza. Bolje metode dizajniranja softvera moraju se uvoditi u svim zemljama jer su takve aplikacije od vitalnog značaja za naš život.

Postupci poput automatizacije uvelike se oslanjaju na softver ovih dana, ali jedna pogreška u retku koda može nas dovesti do većih nedostataka kao što pokazuju gornje instance.

Zamislite da je nešto poput umjetne inteligencije (AI) ugrađeno u ove aplikacije. AI je dovoljno zastrašujuća sama po sebi bez softverskih kvarova. Dodajte bugove u miks i nema naznake što bi se moglo dogoditi.

Međutim, ovdje se nalazi srebrna obloga. Uz malo rada i nekih novih alata možemo poboljšati softver i AI dizajnirajući ga zvučnije i testirajući ga na studs.

Nadajmo se da će to kritično pitanje ozbiljno shvatiti zabrinute vlasti kako bismo softver mogli upotrijebiti u potpunosti, ali samo za izgradnju sigurnije i pametnije budućnosti.

Pogledajte sljedeće: Umjetna inteligencija: vrste i budućnost koju imaju ljudi