Intel Labs får maskinprogrammeringsforskning for å automatisere programvareutvikling, redusere kodingsfeil og adressere ferdighetsmangel
Intel har satt opp et interessant program på Intel Labs, selskapets knutepunkt for eksperimentelle prosjekter med langsiktige utsikter. Machine Programming Research (MPR) -prosjektet vil prøve å automatisere programvareutvikling for komplekse plattformer samtidig som kodefeil reduseres. Den primære begrunnelsen bak prosjektet ser ut til å være den økende mangelen på trente eller ekspertprogrammerere som kan skrive kompleks programvarekode pålitelig og konsekvent.
Intel Labs 'MPR-prosjekt vil bruke flere former for maskinlæring og andre automatiske metoder for å lage en plattform som er i stand til å lage sin egen programvare, nevnt Justin Gottschlich fra Intel Labs som er blitt bedt om å lede et team av maskinprogrammeringsforskere. Det endelige målet med MPR ser ut til å være å utvikle en helt automatisert plattform som er i stand til å skrive programvare og kode med minimal menneskelig inngripen og feil. Prosjektet ser imidlertid ut til å være ment for folk som ikke klarer å kode. MPR skal til slutt hjelpe folk uten programmeringsevner, men god kreativitet, med å bygge ønsket programvare eller plattform uten å skrive en eneste kodelinje selv.
Intel Labs får maskinprogrammeringsforskning som gir høye løfter om realistiske problemer i programvareutvikling:
Programvare er dypt integrert i alle aspekter av moderne sivilisasjon. Å utvikle og vedlikeholde programvare er imidlertid en tidkrevende og feilutsatt prosess, bemerker Justin. Han hevder at “Machine Programming”, der kraften til å lage og vedlikeholde programvare er i alles hånd, kan forenkle den komplekse prosessen betydelig. Hovedproblemet innen Software Development-segmentet er tilgjengeligheten av dedikerte, erfarne og pålitelige seniorutviklere.
Enkelt sagt, det er en alvorlig uoverensstemmelse mellom det økende behovet i bransjen, og evnen til den virkelige verden som tilbyr dyktige fagfolk. Justin bemerker i nær fremtid vil det bli stadig vanskeligere, kanskje umulig, "å finne utviklere som kan programmere riktig, effektivt og sikkert på tvers av all den maskinvaren."
Maskinprogrammering bruker flere automatiske programmeringsteknikker som spenner fra presise (f.eks. Formell programsyntese) til probabilistiske (f.eks. Differensierbar programmering) metoder. Den bruker og lærer også av alt Intel og andre maskinvareprodusenter har utviklet innen maskinvare og programvare til dags dato.
De to mest nødvendige aspektene ved programvareutvikling er pålitelighet og konsistens. Som Windows 10 OS-oppdateringer har helt klart og rutinemessig angitt, nøyaktighet og ytelsesforbedringer kommer nesten alltid med feil og rare atferdsmønstre. MPR har som mål å undersøke og spyle ut vanlige feil, feil og andre problemer som regelmessig finner veien inn i programvaren. Det neste trinnet ville åpenbart være å fikse dem automatisk, observerte Justin.
I tillegg til å redusere vanlige feil i programvare, vil Intels MPR-program også arbeide for å forbedre og til slutt redusere mengden kode som går med i programvaren. Ved å eliminere kodelinjer, vil programvaren bli slankere, renere og mer effektiv. Dessuten, med mindre antall kode i programvaren, vil nøyaktigheten også bli bedre.
Det ser ut til at Intel er ute etter å eliminere jobber for programvareutvikling. Justin bemerket imidlertid kategorisk at Intel Labs MPR-program ikke er å redusere arbeidsstyrken. Tvert imot er MPR klar til å skape flere nye jobber og arbeidsmuligheter. Videre er hovedagendaen til MPR i hovedsak å frigjøre fagfolk til å ta på seg mer komplekse komponenter i programvareutvikling. Dette er rett og slett fordi MPR til slutt ville håndtere de viktigste aspektene ved programmering. Med programvareblokkene som blir tatt hånd om, kan programmerere fokusere på bedre integrering av flere plattformer som maskinlæring og formelle teknikker, heterogen maskinvare og mange programmeringsspråk i programvareplattformene.