Android

Cum să evitați problemele software

[Holly] || (Ark cheat) Summer Upadate in this server.. S3E37.

[Holly] || (Ark cheat) Summer Upadate in this server.. S3E37.

Cuprins:

Anonim

În această eră digitală, trebuie să fi auzit despre gigantii de social media, cum ar fi Facebook și Twitter și platforme de comerț electronic, precum Alibaba și Amazon. Aceste site-uri online se bazează pe diverse pachete software pentru funcționarea lor. Aceste programe au schimbat destul de sincer modul în care lucrăm, gândim și trăim.

De altfel, multe dispozitive care anterior aveau doar caracter mecanic, sunt acum controlate de software. De exemplu, termostatele au fost cândva dispozitive electromecanice. Cu toate acestea, acum se bazează foarte mult pe software pentru operare.

Cu toate acestea, bug-urile software pot fi destul de problematice, mai ales cu dependența noastră crescută de ele pentru activitățile zilnice. De fapt, au existat, de fapt, câteva ocazii în care software-ul nu și-a îndeplinit scopul propus, ceea ce a dus la rezultate neplăcute.

, vorbim despre 4 ocazii în care performanța software a ratat în mare măsură amprentele sale și cum să evităm astfel de probleme de software.

Citiți și: 10 motive pentru care nu ar trebui să vă grăbiți să cumpărați un iPhone X

1. întreruperea statelor americane 911

911 este un serviciu critic, care permite persoanelor fizice să contacteze personalul de urgență ori de câte ori este nevoie. Uneori, contactul cu dispeceratele de urgență prin 911 poate literalmente face diferența între viață și moarte.

Prin urmare, a fost destul de dezastru atunci când, la 9 aprilie 2014, 911 apelul de eșec a eșuat în șapte state din SUA, inclusiv California, Florida, Minnesota, Carolina de Nord, Pennsylvania, Carolina de Sud și Washington.

Această întrerupere a fost cauzată de o eroare de codificare evitabilă, care a avut loc la un centru de gestionare a apelurilor de urgență din Colorado, care a fost deținut de Intrado.

2. Punerea la pământ a flotei United Airlines

În iulie 2015, United Airlines a fost forțată să pună la sol întreaga sa flotă de aeronave din cauza unui glitch software. Aceasta a afectat peste 4.900 de zboruri la nivel mondial și a lăsat numeroși pasageri blocați pe aeroporturi și evident evident frustrați.

Probabil a existat și un impact economic, deoarece compania aeriană ar fi trebuit să compenseze mulți pasageri pentru inconveniente. De asemenea, au existat probabil mai multe întâlniri de afaceri importante, care au fost aglomerate din cauza împământării.

3. Defecțiunea pedalei acceleratoare Toyota Camry

În septembrie 2007, Jean Bookout călătorea pe autostrada Interstate 69 din Oklahoma cu pasagerul Barbara Schwarz, când a întâmpinat dificultăți în controlul Toyota Camry.

A încercat să ridice picioarele de pe accelerație, dar mașina a continuat să se accelereze. Pedala de frână nu a reușit să oprească mașina și a fost forțată să folosească frâna de urgență.

Din păcate, acest lucru a trimis mașina îngrijindu-se într-un terasament. Ca urmare, Schwarz a murit și Bookout a fost internat timp de cinci luni din cauza rănilor critice.

S-a speculat că accidentul s-a produs din cauza mai multor inadvertențe de codificare care au dus la prăbușirea unei sarcini în procesorul Camry. Acest procesor ar controla un număr extraordinar de mare de funcții, inclusiv aprinderea, controlul acceleratiei și controlul de viteză.

Codul lui Toyota a devenit o mizerie încurcată după câțiva ani de noi coduri fiind îngrămădite pe cele vechi. Acest lucru este, de obicei, denumit „cod spaghete”.

Codul Spaghetti este inutil complex și face aproape imposibilă găsirea unor erori. Mai mult, Toyota a încălcat, de asemenea, mai multe reguli de securitate în ceea ce privește codificarea lor. Trebuie menționat că acesta nu a fost un caz izolat de accelerație nedorită într-o Toyota.

Cu toate acestea, accidentul Bookout a scos în lumină această problemă și a evidențiat defectele Toyotei în procesul lor de software. S-a constatat chiar că există mai mult de 10 milioane de moduri de accelerare nedorită să se producă, pe baza modului în care a fost structurat codul Toyota.

Eșecul termostatului cuibului

Nest este o companie, deținută de Alphabet, care produce termostate inteligente. Aceste termostate sunt destul de obraznice și permit utilizatorilor să controleze temperatura din casele lor de pe smartphone-urile lor.

Iarna trecută, termostatele Nest au cunoscut o sclipire sub forma unei actualizări defectuoase a software-ului, ceea ce a determinat scurgerea bateriilor. Din păcate, această eroare s-a produs la mijlocul iernii, lăsând temporar mai mulți utilizatori fără căldură. Este cu siguranță ceva ce nu doriți să se întâmple în această perioadă a anului.

A se vedea următorul: selfie-urile nu sunt la fel de banale, cum le-au făcut rețelele de socializare târziu

O scurtă analiză a problemelor software

Abordări precum proiectarea bazată pe model și TLA + permit dezvoltatorilor să obțină o imagine de ansamblu mai mare asupra modului în care funcționează software-ul lor.

Brett Victor, un cercetător de calcul important, consideră că există o deconectare între programatori și problemele pe care încearcă să le rezolve cu ajutorul codurilor.

Datorită acestei deconectări, programatorii devin dificili să înțeleagă ce încearcă să introducă coduri. Victor crede că acesta este unul dintre factorii care contribuie la faptul că software-ul este plin de erori.

Cu toate acestea, există speranță. Abordări precum proiectarea bazată pe model și TLA + permit dezvoltatorilor să obțină o imagine de ansamblu mai mare asupra modului în care funcționează software-ul lor.

Designul bazat pe model, după cum sugerează și numele, permite dezvoltarea de software prin modele vizuale. TLA +, care este scurt pentru Logica de acțiuni temporale, este un limbaj conceput pentru scrierea specificațiilor unui program de calculator. Ceea ce este excelent în legătură cu TLA + este că permite testarea și verificarea exhaustivă a software-ului înainte de publicarea acestuia.

Atât designul bazat pe model, cât și TLA + și-au dovedit deja sarea. Tehnologiile Esterel, o firmă de dezvoltare software, folosește un design bazat pe model pentru a construi software-uri critice pentru siguranță, în timp ce TLA + a fost folosit de către Microsoft pentru a remedia o posibilă eroare catastrofală Xbox, și de către Agenția Spațială Europeană pentru a rescrie codurile pentru o sondă care aterizat pe o cometă.

Procesorii de scriere a codului sunt susținute de programatori. Multe dintre ele sunt destul de simplu intrigate de procesul de scriere a codurilor. Prin urmare, este o provocare să-i determinăm pe unii programatori să accepte abordări precum designul bazat pe model și TLA +. Aceste abordări sunt adesea percepute ca strict academice, fără viabilitate în lumea reală. Cu toate acestea, o schimbare de vedere trebuie să vină cât mai devreme.

Citește și: Ne împingem copiii spre orbire

Gânduri finale

Software-ul este din ce în ce mai utilizat în aplicații care necesită măsuri de siguranță încorporate. Metodele mai bune de proiectare a software-ului trebuie să fie introduse peste tot, deoarece aceste aplicații sunt vitale în viața noastră.

Procesele precum automatizarea se bazează foarte mult pe software în zilele noastre, dar o eroare într-o linie de cod ne poate duce la neplăceri majore, așa cum arată instanțele de mai sus.

Acum, imaginați-vă că ceva de genul Artificial Intelligence (AI) este încorporat în aceste aplicații. AI este destul de înfricoșător de unul singur, fără glitches-uri software. Adăugați bug-uri în mix și nu se spune ce s-ar putea întâmpla.

Cu toate acestea, există o căptușeală argintie aici. Cu un pic de lucru și câteva instrumente noi, putem face software și AI mai bune proiectându-l mai solid și testându-l la știfturile sale.

Să sperăm că această problemă critică este luată în serios de autoritățile în cauză, astfel încât să putem folosi software-ul la potențialul său maxim, dar numai pentru a construi un viitor mai sigur și mai inteligent.

Vezi Următorul: Inteligența artificială: Tipuri și viitorul pe care îl ține pentru oameni