Intel Labs får maskinprogrammeringsforskning til automatisering af softwareudvikling, reducerer kodningsfejl og adresserer færdighedsmangel
Intel har oprettet et interessant program på sine Intel Labs, virksomhedens hub til eksperimentelle projekter med langsigtede udsigter. Machine Programming Research (MPR) -projektet vil forsøge at automatisere softwareudvikling til komplekse platforme og samtidig reducere kodningsfejl. Den primære begrundelse bag projektet ser ud til at være den stigende mangel på uddannede eller ekspertprogrammerere, der kan skrive kompleks softwarekode pålideligt og konsekvent.
Intel Labs 'MPR-projekt vil bruge flere former for maskinlæring og andre automatiske metoder til at skabe en platform, der er i stand til at oprette sin egen software, der er nævnt Justin Gottschlich fra Intel Labs, der er blevet bedt om at lede et team af maskinprogrammeringsforskere. Det ultimative mål for MPR ser ud til at være at udvikle en fuldstændig automatiseret platform, der er i stand til at skrive software og kode med minimalt menneskeligt indgreb og fejl. Imidlertid synes projektet at være beregnet til folk, der ikke er i stand til at kode. MPR skal i sidste ende hjælpe folk uden programmeringsfærdigheder, men rigelig kreativitet med at opbygge deres ønskede software eller platform uden nogensinde at skrive en enkelt linje kode selv.
Intel Labs får maskinprogrammeringsforskning, der giver høje løfter om realistiske problemer i softwareudvikling:
Software er dybt integreret i alle aspekter af den moderne civilisation. At udvikle og vedligeholde software er imidlertid en tidskrævende og fejlbehæftet proces, bemærker Justin. Han hævder, at "Machine Programming", hvor magten til at oprette og vedligeholde software er i alles hånd, kunne forenkle den komplekse proces betydeligt. Det største problem inden for softwareudviklingssegmentet er tilgængeligheden af dedikerede, erfarne og pålidelige seniorudviklere.
Kort sagt, der er en alvorlig uoverensstemmelse mellem branchens voksende krav og den virkelige verdens evne til at tilbyde dygtige fagfolk. Justin bemærker i den nærmeste fremtid, at det bliver stadig vanskeligere, måske umuligt, "at finde udviklere, der kan programmere korrekt, effektivt og sikkert på tværs af al den hardware."
Maskinprogrammering bruger flere automatiske programmeringsteknikker, der spænder fra præcise (fx formel programsyntese) til probabilistiske (fx differentierbar programmering) metoder. Det bruger og lærer også af alt, hvad Intel og andre hardwareproducenter har udviklet inden for hardware og software til dato.
De to mest nødvendige aspekter af softwareudvikling er pålidelighed og konsistens. Som Windows 10 OS-opdateringer har klart og rutinemæssigt angivet, nøjagtighed og ydeevne forbedringer næsten altid kommer med fejl og underlige adfærdsmønstre. MPR sigter mod at undersøge og skylle almindelige fejl, fejl og andre problemer, der regelmæssigt finder vej ind i softwaren. Det næste skridt ville naturligvis være at rette dem automatisk, observerede Justin.
Sammen med at reducere almindelige fejl i software, vil Intels MPR-program også arbejde på at forbedre og til sidst reducere mængden af kode, der går til software. Ved at fjerne kodelinjer ville softwaren blive slankere, renere og mere effektiv. Desuden, med mindre antal kode inden i softwaren, vil dens nøjagtighed også blive bedre.
Det ser ud til, at Intel er ude på at fjerne softwareudviklingsjob. Justin bemærkede imidlertid kategorisk, at Intel Labs MPR-program ikke er at reducere arbejdsstyrken. Tværtimod er MPR klar til at skabe flere nye job og arbejdsmuligheder. Desuden er MPR's kernedagsorden i det væsentlige at frigøre fagfolk til at påtage sig mere komplekse komponenter i softwareudvikling. Dette er simpelthen fordi MPR i sidste ende vil håndtere de mest vigtige aspekter af programmeringen ved møllen. Med adgangsblokke til software, der bliver taget hånd om, kunne programmører fokusere på bedre integration af flere platforme som maskinindlæring og formelle teknikker, heterogen hardware og mange programmeringssprog i softwareplatforme.