Android

Sådan undgås softwareproblemer

The magic ingredient that brings Pixar movies to life | Danielle Feinberg

The magic ingredient that brings Pixar movies to life | Danielle Feinberg

Indholdsfortegnelse:

Anonim

I denne digitale æra skal du have hørt om sociale medier giganter som Facebook og Twitter og e-handelsplatforme som Alibaba og Amazon. Disse online websteder er afhængige af forskellige softwarepakker til deres drift. Disse programmer har helt ærligt ændret den måde, vi arbejder, tænker og lever på.

Desuden styres mange enheder, der tidligere kun var mekaniske, af software. For eksempel var termostater engang elektromekaniske enheder. De er dog nu stærkt afhængige af software til drift.

Softwarebugs kan dog være ret problematiske, især med vores øgede afhængighed af dem til daglige aktiviteter. Faktisk har der faktisk været en hel del lejligheder, hvor software ikke er tilstrækkelig med dets tilsigtede formål, hvilket fører til ubehagelige resultater.

, vi taler om 4 lejligheder, hvor softwarepræstationer stort set har savnet sit mærke, og hvordan man undgår sådanne softwareproblemer.

Læs også: 10 grunde til, at du ikke skal have travlt med at købe en iPhone X

1. US Multi-State 911 Outage

911 er en kritisk service, der gør det muligt for enkeltpersoner at kontakte nødpersonale, når det er nødvendigt. Nogle gange kan det bogstaveligt talt gøre forskellen mellem liv og død ved at komme i kontakt med nødudbydere via 911.

Derfor var det ganske katastrofen, da den 9. april 2014 mislykkedes 911-opkaldsruter i syv stater i USA, herunder Californien, Florida, Minnesota, North Carolina, Pennsylvania, South Carolina og Washington.

Dette afbrydelse var forårsaget af en forebyggelig kodningsfejl, der opstod i et nødopkaldsstyringscenter i Colorado, der var ejet af Intrado.

2. Begrundelse af United Airlines 'flåde

I juli 2015 blev United Airlines tvunget til at jorden hele sin flyflåde på grund af et softwarefejl. Dette påvirkede mere end 4.900 fly globalt og efterlod mange passagerer strandet i lufthavne og helt åbenlyst frustrerede.

Der var sandsynligvis også en økonomisk indvirkning, da flyselskabet ville have været nødt til at kompensere mange passagerer for ulejligheden. Der var sandsynligvis også flere vigtige forretningsmøder, der blev bungled på grund af grundlæggelsen.

3. Toyota Camry Accelerator Pedal Fejlfunktion

I september 2007 rejste Jean Bookout på Interstate Highway 69 i Oklahoma med passageren Barbara Schwarz, da hun fik problemer med at kontrollere sin Toyota Camry.

Hun forsøgte at løfte fødderne fra gassen, men bilen fortsatte med at accelerere. Bremsepedalen kunne ikke stoppe bilen, og hun blev tvunget til at bruge sin nødbremse.

Desværre sendte dette bilen pleje ind i en dæmning. Schwarz døde som et resultat, og Bookout blev indlagt på hospitalet i fem måneder på grund af kritiske kvæstelser.

Det blev spekuleret i, at ulykken skete på grund af adskillige kodende mangler, der førte til nedbrud af en opgave i Camrys CPU. Denne CPU vil kontrollere et overordentligt stort antal funktioner, herunder tænding, gashåndtering og cruise control.

Toyotas kode blev et sammenfiltret rod efter flere år med nye koder, der blev stablet på gamle. Dette kaldes normalt 'spaghettikode'.

Spaghetti-kode er unødvendigt kompleks og gør det næsten umuligt at finde fejl. Derudover havde Toyota også overtrådt flere sikkerhedsregler i deres kodning. Det skal bemærkes, at dette ikke var et isoleret tilfælde af utilsigtet acceleration i en Toyota.

Bookout's ulykke bragte imidlertid dette problem frem i lyset og fremhævede Toyota's mangler i deres softwareproces. Det blev endda fundet, at der var mere end 10 millioner måder, hvorpå uønsket acceleration potentielt kan forekomme, baseret på den måde, Toyota's kode var struktureret på.

Fejl i termostaten

Nest er et firma, der ejes af Alphabet, der fremstiller smarte termostater. Disse termostater er ganske smarte og giver brugerne mulighed for at kontrollere temperaturen i deres hjem fra deres smartphones.

Sidste vinter oplevede Nest-termostater en fejl i form af en defekt softwareopdatering, der fik deres batterier til at tømme. Desværre skete denne fejl midt i vinteren, hvilket efterlader flere brugere uden varme midlertidigt. Dette er bestemt noget, du ikke ønsker at ske i denne tid af året.

Se næste: Selfies er ikke så trivielle, som sociale medier har gjort dem til sene

En kort analyse af softwareproblemer

Tilgange såsom modelbaseret design og TLA + giver udviklere mulighed for at få et større billede af, hvordan deres software fungerer.

Brett Victor, en fremtrædende computerforsker, regner med, at der er en forbindelse mellem programmerere og de problemer, de prøver at løse med koder.

På grund af denne afbrydelse bliver det vanskeligt for programmerere at forestille sig, hvad de prøver at sætte i koder. Victor mener, at dette er en af ​​de bidragende faktorer til, at software er fyldt med bugs.

Der er dog håb. Tilgange såsom modelbaseret design og TLA + giver udviklere mulighed for at få et større billede af, hvordan deres software fungerer.

Modelbaseret design tillader, som navnet antyder, udvikling af software via visuelle modeller. TLA +, der står til kort for Temporal Logic of Actions, er et sprog designet til at skrive specifikationerne for et computerprogram. Det, der er godt ved TLA +, er, at det tillader udtømmende test og verifikation af software, før det bliver offentliggjort.

Både modelbaseret design og TLA + har allerede bevist deres salt. Esterel-teknologier, et softwareudviklingsfirma, bruger modelbaseret design til at opbygge sikkerhedskritisk software, mens TLA + er blevet brugt af Microsoft-lignende til at løse en mulig katastrofal Xbox-fejl, og af Det Europæiske Rumorganisation til at omskrive koder til en sonde, der landede på en komet.

Processen med at skrive kode holdes højt af programmører. Mange af dem er ganske enkelt fascinerede af processen med at skrive koder. Det er derfor en udfordring at få nogle programmerere til at acceptere tilgange som modelbaseret design og TLA +. Disse tilgange opfattes ofte som strengt akademiske uden levedygtighed i den virkelige verden. En ændring af synspunktet skal dog komme så tidligt som muligt.

Læs også: Vi skubber vores børn mod blindhed

Afsluttende tanker

Software bliver i stigende grad brugt i applikationer, der kræver indbyggede sikkerhedsforholdsregler. Bedre metoder til design af software skal introduceres overalt, da sådanne applikationer er vigtige i vores liv.

Processer som automatisering er meget afhængige af software i disse dage, men en fejl i en kodelinje kan føre til store tilbageslag, som ovenstående tilfælde viser.

Forestil dig nu, at noget som kunstig intelligens (AI) bliver inkorporeret i disse applikationer. AI er skræmmende nok på egen hånd uden softwarefejl. Tilføj bugs i blandingen, og der er ingen, der fortæller, hvad der kunne ske.

Der er dog en sølvforing her. Med lidt arbejde og nogle nye værktøjer kan vi lave bedre software og AI ved at designe det mere forsvarligt og teste det til dets studs.

Lad os håbe, at dette kritiske spørgsmål tages alvorligt af de berørte myndigheder, så vi kan bruge software til dets fulde potentiale, men kun til at opbygge en sikrere og smartere fremtid.

Se næste: Kunstig intelligens: Typer og fremtiden, det holder for mennesker