Android

Hvordan unngå programvareproblemer

DON'T PANIC — Hans Rosling showing the facts about population

DON'T PANIC — Hans Rosling showing the facts about population

Innholdsfortegnelse:

Anonim

I denne digitale epoken må du ha hørt om giganter i sosiale medier som Facebook og Twitter og e-handelsplattformer som Alibaba og Amazon. Disse elektroniske nettsteder er avhengige av forskjellige programvarepakker for deres drift. Disse programmene har helt ærlig forandret måten vi jobber, tenker og lever på.

Dessuten er mange enheter som tidligere kun var mekaniske, kontrollert av programvare. For eksempel var termostater en gang elektromekaniske enheter. Nå er de imidlertid veldig avhengige av programvare for drift.

Programvarefeil kan imidlertid være ganske problematiske, spesielt med vår økte avhengighet av dem for daglige aktiviteter. Faktisk har det faktisk vært ganske mange anledninger der programvare har falt under det tiltenkte formålet, noe som førte til ubehagelige resultater.

, vi snakker om fire anledninger der programvareprestasjoner i stor grad har gått glipp av sitt preg og hvordan du kan unngå slike programvareproblemer.

Les også: 10 grunner til at du ikke skal ha det travelt med å kjøpe en iPhone X

1. US Multi-State 911 Outage

911 er en kritisk tjeneste som lar enkeltpersoner kontakte nødpersonell når det er nødvendig. Noen ganger kan bokstavelig talt utgjøre en forskjell mellom liv og død ved å komme i kontakt med nødsendingene via 911.

Derfor var det ganske katastrofen da 9. april 2014 mislyktes samtaleveiledning av 911 i syv stater i USA, inkludert California, Florida, Minnesota, North Carolina, Pennsylvania, South Carolina og Washington.

Dette avbruddet var forårsaket av en forebyggbar kodingsfeil, som skjedde ved et nødssentralsentral i Colorado som var eid av Intrado.

2. Begrunnelse av United Airlines 'Fleet

I juli 2015 ble United Airlines tvunget til å bakke hele flyflåten på grunn av feil i programvaren. Dette påvirket mer enn 4 900 flyvninger globalt og etterlot mange passasjerer strandet på flyplasser og ganske åpenbart frustrerte.

Det var sannsynligvis også en økonomisk innvirkning siden flyselskapet ville ha måttet kompensere mange passasjerer for ulempene. Det var sannsynligvis også flere viktige forretningsmøter som ble bunglet på grunn av grunnstøtingen.

3. Feil i Toyota Camry Accelerator Pedal

I september 2007 reiste Jean Bookout på Interstate Highway 69 i Oklahoma med passasjeren Barbara Schwarz, da hun fikk problemer med å kontrollere Toyota Camry.

Hun forsøkte å løfte føttene fra gassen, men bilen fortsatte å akselerere. Bremsepedalen klarte ikke å stoppe bilen, og hun ble tvunget til å bruke nødbremsen.

Dessverre sendte dette bilen pleie inn i en voll. Schwarz døde som et resultat, og Bookout ble innlagt på sykehus i fem måneder på grunn av kritiske skader.

Det ble spekulert i at ulykken skjedde på grunn av flere mangelfulle kodinger som førte til krasjet av en oppgave i Camrys CPU. Denne CPU-en ville kontrollere et overordentlig stort antall funksjoner, inkludert tenning, gassstyring og cruisekontroll.

Toyotas kode ble et sammenfiltret rot etter flere år med nye koder som ble stablet på gamle. Dette blir vanligvis referert til som "spaghetti code".

Spaghetti-koden er unødvendig kompleks og gjør det nesten umulig å finne feil. Videre hadde Toyota også brutt flere sikkerhetsregler i kodingen. Det skal bemerkes at dette ikke var et isolert tilfelle av utilsiktet akselerasjon i en Toyota.

Bookouts ulykke brakte imidlertid dette problemet i lyset og fremhevet Toyota's feil i programvareprosessen. Det ble til og med funnet at det var mer enn 10 millioner måter for uønsket akselerasjon å potensielt skje, basert på hvordan Toyotas kode var strukturert.

Nest-termostatfeil

Nest er et selskap, som eies av Alphabet, som lager smarte termostater. Disse termostatene er ganske fine og lar brukerne kontrollere temperaturen i hjemmene sine fra smarttelefonene sine.

I fjor vinter opplevde Nest-termostater en feil i form av en feil programvareoppdatering, noe som fikk batteriene til å tømme. Dessverre skjedde denne feilen midt på vinteren, og etterlot flere brukere uten varme midlertidig. Dette er definitivt noe du ikke vil skje i denne tiden av året.

Se neste: Selfies er ikke så trivielle som sosiale medier har gjort dem til sent

En kort analyse av programvareproblemer

Tilnærminger som modellbasert design og TLA + lar utviklere få et større bilde oversikt over hvordan programvaren deres fungerer.

Brett Victor, en fremtredende dataforsker, regner med at det er en kobling mellom programmerere og problemene de prøver å løse med koder.

På grunn av denne koblingen, blir det vanskelig for programmerere å se for seg hva de prøver å sette inn koder. Victor mener dette er en av de bidragende faktorene til at programvare blir full av feil.

Imidlertid er det håp. Tilnærminger som modellbasert design og TLA + lar utviklere få et større bilde oversikt over hvordan programvaren deres fungerer.

Modellbasert design tillater, som navnet antyder, utvikling av programvare via visuelle modeller. TLA +, som står til kort for Temporal Logic of Actions, er et språk designet for å skrive spesifikasjonene til et dataprogram. Det som er flott med TLA +, er at det tillater uttømmende testing og verifisering av programvare før den blir publisert.

Både modellbasert design og TLA + har allerede bevist saltet sitt. Esterel-teknologiene, et programvareutviklingsfirma, bruker modellbasert design for å bygge sikkerhetskritisk programvare mens TLA + har blitt brukt av slike som Microsoft for å fikse en mulig katastrofal Xbox-feil, og av European Space Agency for å omskrive koder for en sonde som landet på en komet.

Prosessen med å skrive kode holdes høyt aktet av programmerere. Mange av dem er ganske enkelt fascinert av prosessen med å skrive koder. Det er derfor en utfordring å få noen programmerere til å akseptere tilnærminger som modellbasert design og TLA +. Disse tilnærmingene blir ofte oppfattet som strengt akademiske uten levedyktighet i den virkelige verden. En synsendring må imidlertid komme så tidlig som mulig.

Les også: Vi skyver barna våre mot blindhet

Siste tanker

Programvare blir i økende grad brukt i applikasjoner som krever innebygde sikkerhetstiltak. Bedre metoder for å designe programvare må introduseres over hele linjen da slike applikasjoner er viktige i livene våre.

Prosesser som automatisering er veldig avhengige av programvare i disse dager, men en feil i en kodelinje kan føre oss til store tilbakeslag som tilfeller ovenfor.

Tenk deg noe som at kunstig intelligens (AI) blir integrert i disse applikasjonene. AI er skummel nok på egen hånd uten programvarefeil. Legg til feil i blandingen, og det er ingen som forteller hva som kan skje.

Imidlertid er det en sølvforing her. Med litt arbeid og noen nye verktøy, kan vi lage bedre programvare og AI ved å designe den mer forsvarlig og teste den på stenderne.

La oss håpe at denne kritiske saken blir tatt på alvor av bekymrede myndigheter, slik at vi kan bruke programvare til sitt fulle potensiale, men bare for å bygge en tryggere og smartere fremtid.

Se Neste: Kunstig intelligens: Typer og fremtiden det rommer for mennesker