Intel Labs får maskinprogrammeringsforskning för att automatisera mjukvaruutveckling, minska kodningsfel och adressfärdighetsbrist
Intel har skapat ett intressant program på sina Intel Labs, företagets nav för experimentella projekt med långsiktiga utsikter. Machine Programming Research (MPR) -projektet kommer att försöka automatisera programvaruutveckling för komplexa plattformar samtidigt som kodfel minskas. Det främsta resonemanget bakom projektet verkar vara den ökande bristen på utbildade eller expertprogrammerare som kan skriva komplex programvarukod pålitligt och konsekvent.
Intel Labs MPR-projekt kommer att använda flera former av maskininlärning och andra automatiska metoder för att skapa en plattform som kan skapa sin egen programvara som nämns Justin Gottschlich från Intel Labs som har blivit ombedd att leda ett team av maskinprogrammeringsforskare. Det ultimata målet för MPR verkar vara att utveckla en helt automatiserad plattform som kan skriva programvara och kod med minimalt mänskligt ingripande och fel. Projektet verkar dock vara avsett för personer som inte kan koda. MPR bör så småningom hjälpa människor utan programmeringsförmåga, men riklig kreativitet, att bygga sin önskade programvara eller plattform utan att någonsin skriva en enda kodrad själva.
Intel Labs får maskinprogrammeringsforskning ger höga löften om realistiska problem inom programvaruutveckling:
Programvara är djupt integrerad i alla aspekter av den moderna civilisationen. Att utveckla och underhålla programvara är dock en tidskrävande och felbenägen process, konstaterar Justin. Han hävdar att ”Machine Programming”, där kraften att skapa och underhålla programvara ligger i allas hand, skulle kunna förenkla den komplexa processen avsevärt. Det största problemet inom Software Development-segmentet är tillgängligheten av dedikerade, erfarna och pålitliga seniorutvecklare.
Enkelt uttryckt, det finns en allvarlig skillnad mellan branschens växande krav och den verkliga världens förmåga att erbjuda skickliga proffs. Justin konstaterar att det inom en snar framtid kommer att bli allt svårare, kanske omöjligt, "att hitta utvecklare som kan korrekt, effektivt och säkert programmera över all den hårdvaran."
Maskinprogrammering använder flera automatiska programmeringstekniker som sträcker sig från exakta (t.ex. formell programsyntes) till probabilistiska (t.ex. differentierbar programmering) metoder. Det använder och lär sig också av allt som Intel och andra hårdvarutillverkare har utvecklat i hårdvara och programvara hittills.
De två mest nödvändiga aspekterna av mjukvaruutveckling är tillförlitlighet och konsekvens. Som Windows 10 OS-uppdateringar har klart och rutinmässigt anges, noggrannhet och prestandaförbättringar kommer nästan alltid med buggar och konstiga beteendemönster. MPR syftar till att undersöka och spola ut vanliga buggar, fel och andra problem som regelbundet hittar in i programvaran. Nästa steg skulle självklart vara att fixa dem automatiskt, konstaterade Justin.
Tillsammans med att minska vanliga buggar i programvara kommer Intels MPR-program också att arbeta för att förbättra och så småningom minska mängden kod som ingår i programvaran. Genom att eliminera kodrader skulle programvaran bli smalare, renare och effektivare. Dessutom, med mindre antal kod i programvaran, skulle dess noggrannhet också förbättras.
Det kan tyckas att Intel är ute efter att eliminera jobb för mjukvaruutveckling. Justin konstaterade emellertid kategoriskt att Intel Labs MPR-program inte är att minska arbetskraften. Tvärtom är MPR redo att skapa flera nya jobb och arbetsmöjligheter. Dessutom är kärnagendan för MPR i huvudsak att frigöra yrkesverksamma att ta på sig mer komplexa komponenter för programutveckling. Detta beror helt enkelt på att MPR så småningom skulle hantera de viktigaste aspekterna av programmering. När programvarublocken tas om hand kan programmerare fokusera på bättre integrering av flera plattformar som maskininlärning och formella tekniker, heterogen hårdvara och många programmeringsspråk i programvaruplattformarna.