Programvareutviklere kan lage bedre programmer med AI

Ping-pong-spillende robot beviser at AI-drevne maskiner kan føle menneskelig følelse På CES 2020 viser Omron ny AI-teknologi som støtter harmoni mellom maskiner og mennesker.

Bedrifter som er involvert i programvareutvikling, enten for eksterne kunder eller for deres egne interne behov, møter en rekke utfordringer. Mangel på dyktige utviklere hindrer innsatsen for å lage kvalitetsprogramvare. Utviklingsprosjekter går ofte galt. Mange er forsinket, går over budsjett, eller blir rett og slett avlyst før de blir utført. Og til tross for den beste innsatsen fra programmerere og andre proffer, kan ferdige applikasjoner bli hindret av feil. En faktor som kan lindre noen av disse hindringene er kunstig intelligens (AI), ifølge en ny rapport fra Deloitte.

Administrere AI og ML i bedriften 2019: Tekniske ledere forventer større problemer enn tidligere IT-prosjekter (TechRepublic Premium)

AI kan hjelpe programvareutvikling på flere måter, sier Deloitte. AI-drevne verktøy kan redusere halvparten av antall tastetrykk som utviklerne trenger å skrive. De kan fange feil og sårbarheter før koden blir gjennomgått eller testet. Og de kan automatisk generere noen av testene som kreves for kvalitetssikring.

Må-lese utviklerinnhold

  • Java og JavaScript dominerte programvareutvikling på 2010-tallet
  • Hvordan bli utvikler: Et jukseark
  • 10 måter å forhindre utbrenthet av utviklere (gratis PDF)
  • Python spiser verden: Hvordan en utviklerens sideprosjekt ble det hotteste programmeringsspråket på planeten

Visse arbeider som typisk er utført av utviklere, kan automatiseres. Maskinlæring og Natural Language Processing kan analysere kildekode og andre utviklingsdata, inkludert poster over prosjektplaner, forsinkelser, applikasjonsfeil og programfikser. AI kan hjelpe utviklere med å skrive mer nøyaktig kode og lage bedre kravdokumenter, sier Deloitte.

Deloitte siterte noen få konkrete eksempler der AI kan hjelpe programvareutvikling.

Prosjektkrav . Kravstyring er prosessen med å samle, validere og spore kravene som sluttbrukere har til et program. Men hvis den ikke blir administrert, kan denne prosessen føre til at programvareprosjekter går over budsjett, møter forsinkelser eller mislykkes helt.

Ved hjelp av AI kan digitale assistenter analysere kravdokumenter, finne uklarheter og inkonsekvenser og tilby forbedringer. Drevet av naturlig språkbehandling kan disse verktøyene oppdage problemer som ufullstendige krav, umålelig kvantifisering (manglende enheter eller toleranser), sammensatte krav og rømningsklausuler. Bedrifter som bruker slike verktøy har angivelig kunnet redusere kravene til gjennomgangstid med mer enn 50%, ifølge Deloitte.

Koding, gjennomgang, feildeteksjon og oppløsning

Etter hvert som utviklere skriver, kan AI-drevne kodeutførelsesverktøy tjene opp anbefalinger for etterbehandling av kodelinjer. Noen verktøy kan til og med vise en liste over brukbare kodebiter basert på relevans. AI-drevne kodevurderingsverktøy kan forstå intensjonen med koden og se etter vanlige feil, og dermed oppdage feil og foreslå kodeendringer. Videospillbedriften Ubisoft sier at bruk av maskinlæring hjelper det å fange 70% av feilene før testingen.

Mer grundig testing

Automatiserte verktøy for testing av programvare som kjører tester av forskjellige scenarier, har eksistert i mange år. Men nå kan AI hjelpe selskaper ikke bare å kjøre tester automatisk, men også generere testsakene. AI-baserte verktøy kan også identifisere sanne mangler i stedet for falske positiver og bestemme deres årsaker.

Som et eksempel brukte et private equity-selskap et AI-drevet verktøy for automatisk å generere mer enn halvparten av testsakene som ble brukt til å validere ett programvareprosjekt. Som et annet eksempel vendte et mellomstort programvarefirma seg til et AI-basert testverktøy når det tradisjonelle verktøyet ikke kunne tilpasse seg forskjellige scenarier. Selskapet var i stand til å få samme nivå av samme testdekning som med det eldre verktøyet, men på mye kortere tid.

Utplassering

AI-drevne verktøy hjelper bedrifter med å forutse distribusjonssvikt på forhånd ved å analysere data som statistikk fra tidligere kodeutgivelser og applikasjonslogger. I ett eksempel oppnådde et e-handelsfirma som brukte maskinlæring for å bekrefte programvareutrullinger og tilbakestillinger raskere applikasjonslevering og 75% reduksjon i gjennomsnittlig tid til gjenoppretting fra en feil i produksjonsmiljøet.

I et annet eksempel brukte et online selskap et maskinlæringsverktøy for å analysere potensielle innstillinger for applikasjonens runtime og automatisk distribuere optimale miljøkonfigurasjoner. Denne prosessen hjalp selskapet med å redusere halvparten av skykostnadene og mer enn dobbelt applikasjonsytelse.

Prosjektledelse

Bedrifter bruker også AI for å forbedre programvareprosjektledelsen. AI-baserte verktøy bruker avansert analyse for å forutsi tekniske oppgaver, ingeniørressurser og tidslinjer som kreves av nye programvareprosjekter. Som et eksempel benyttet innovasjonsteamet hos franske telco Orange et AI-drevet prosjektstyringsverktøy for å automatisere den tidkrevende og manuelle prosessen med å oppdatere prosjektets tidslinjer med endringer i prosjektomfanget eller funksjonssettene.

Flere AI-baserte verktøy som støtter programvareutvikling, treffer markedet eller blir til og med tilgjengelige gratis, sier Deloitte. I løpet av de siste 18 månedene har leverandørene lansert dusinvis av AI-drevet programvareutviklingsverktøy. Oppstart som tilbyr AI-drevet programvareutviklingsverktøy samlet inn 704 millioner dollar i løpet av de 12 månedene som avsluttet september 2019.

Fortsatt har en avhengighet av AI for å forbedre programvareutviklingen noen fallgruver, ifølge Deloitte. Verktøy som er trent på åpen kildekode-programvare, som ikke er fri for feil eller sårbarheter, kan oppmuntre utviklere til å utilsiktet introdusere feil og sikkerhetsrisiko i koden. Bedrifter som distribuerer kodeanbefalingsverktøy, kunne se produktivitet gli før de stiger da slike verktøy krever litt opplæring før de kan fungere effektivt.

Men AI-baserte verktøy for programvareutvikling er her og vil i økende grad spille en viktig rolle.

"Pundits har lenge spådd slutten på programmeringen, " sa Deloitte. "Noen har spådd at datamaskiner til slutt skulle skrive sine egne programmer; andre har antydet at oppgaven med å programmere datamaskiner vil vike for en prosess med undervisning i datamaskiner, ved hjelp av maskinlæring. Begge disse skjer i begrenset grad.

"Men i årene som kommer vil mesteparten av programvaren bli laget av mennesker, la Deloitte til." AI-forbedrede programvareutviklingsverktøy er et godt eksempel på hvordan AI kan styrke, i stedet for å erstatte arbeidere. Teknologiledere er på et oppdrag for å hjelpe sine organisasjoner med å skape fremtid, og kunnskapsrik bruk av AI for å forbedre utøvelsen av programvareutvikling kan støtte dette oppdraget. "

Data, Analytics og AI Nyhetsbrev

Få eksperttips for å mestre grunnleggende grunnleggende analyser av data, og følg med på den siste utviklingen innen kunstig intelligens. Leveres mandager

Registrer deg i dag

© Copyright 2020 | mobilegn.com