PŘÍSLUŠENSTVÍ

Vývojář: Jak mohou projekty automatizace kódování vše změnit

Pro většinu lidí je psaní kódu jako učení se novému jazyku. Ale vědci z Intel a MIT mají za úkol to změnit. A řešením, které přišli, je vytvořit kód … který umí kódovat.

Říká se strojové programování, oblast, se kterou výzkumníci pracují, se týká automatizace vývoje softwaru. A tým právě odhalil nový nástroj, který vývojářům přibližuje možnost jednoho dne mít stroje, které se dokážou samy naprogramovat.

MISIM (Machine Inferred Code Podobnost), nová technologie vynalezená laboratořemi Intel a MIT, vám umožňuje studovat úryvky kódu, abyste porozuměli tomu, co by software měl dělat. Systém pak může vytvořit databázi, kde softwarovým kódům, které mají podobné výsledky, budou přiděleny body podobnosti.

Pochopte záměr nového algoritmu

Na základě tohoto katalogu stávajících kódů může MISIM porozumět záměru nového algoritmu a pomoci softwarovým inženýrům navrhnout jiné způsoby programování nebo nabídnout opravy a možnosti pro zefektivnění kódu. .

Intel v současné době plánuje tento nástroj použít interně, aby pomohl vývojářům s každodenními úkoly, jako je odstraňování problémů, jejichž současné odhady zabírají až polovinu času programátora.

Naším cílem s MISIM je pomoci vývojářům provádět přesná rozhodnutí, například „jaký je nejúčinnější způsob použití tohoto API“ nebo „jak mohu správně ověřit tento záznam. “To by mělo dát technikům mnohem víc.” čas soustředit se na části jejich práce, které skutečně ovlivňují skutečný svět, řekl ZDNet výzkumník Intel Labs Ryan Marcus.

Interpretujte kód na vyšší úrovni

Princip MISIM není znám jako „systém podobnosti kódu“: technologie, která se pokouší určit, zda je jeden kód kódu podobný druhému, již existuje a vývojáři jej často používají pro informace o jiných existujících programech.

Facebook například používá systém doporučení kódu nazvaný Aroma, který doporučuje rozšíření o kód, který již byl napsán – za předpokladu, že programátoři často píší kód podobný tomu, co již bylo napsáno.

Většina stávajících systémů se však zaměřuje na to, jak je kód napsán, aby vytvořil podobnosti s jinými programy. MISIM na druhé straně zkoumá, co kód zamýšlí dělat, bez ohledu na to, jak je navržen. To znamená, že i když jsou k provedení stejného výpočtu použity různé jazyky, datové struktury a algoritmy, MISIM může stále vytvářet podobnosti.

Nástroj využívá novou technologii zvanou kontextově sémantická struktura (CASS), která umožňuje MISIMu interpretovat kód na vyšší úrovni – nejen strukturu programu, ale také jeho účel. Když je algoritmus prezentován s kódem, převede jej do podoby, která reprezentuje to, co software dělá, nikoli způsob, jakým je napsán; MISIM pak porovnává výsledky nalezené pro kód s miliony dalších programů stažených z online úložišť.

Spravujte nedostatek kvalifikovaných vývojářů

Jakmile MISIM naváže propojení s jinými úryvky kódu, může MISIM fungovat jako systém doporučení pro inženýry a navrhovat další způsoby, jak provádět stejný výpočet, který může být rychlejší a efektivnější.

Justin Gottschlich, vedoucí výzkumné skupiny společnosti Intel pro programování strojů, řekl ZDNet, že jak bude vývoj softwaru stále složitější, může mít MISIM zásadní dopad na produktivitu.

„Tempo, kterým představujeme starší vývojáře, není v souladu s tempem, kterým zavádíme nové čipové architektury a složitost softwaru,“ říká. S dnešním heterogenním hardwarem – CPU, GPU, FPGA, ASIC, neuromorfní čipy a brzy kvantové čipy – bude obtížné, ne -li nemožné, najít vývojáře, kteří dokážou správně, efektivně a bezpečně programovat na všech těchto materiálech “.

Programujte pomocí gest!

Dlouhodobý cíl strojového programování však daleko přesahuje podporu vývoje softwaru, jaký dnes existuje. Koneckonců, pokud technologie dokáže změřit záměry a poskytnout odpovídající úryvky kódu jako odpověď, nezdá se jako úsek představovat si, že by jeden den mohli tento algoritmus použít i vývojáři.

V kombinaci se zpracováním přirozeného jazyka může například MISIM teoreticky reagovat na verbální narážky na jeden den umožnit lidem psát programy jednoduše jejich popisem. Jinými slovy, jakýsi Alexa, ale pro vývoj softwaru.

Pan Gottschlich vysvětluje, že tvorba softwaru je v současné době omezena na 27 milionů lidí na celém světě, kteří umí kódovat. Konečným cílem strojového programování je zvýšit tento počet a v určitém okamžiku nechat lidi vyjádřit své myšlenky jinými způsoby než kódem – ať už jde o přirozený jazyk, vizuální diagramy nebo dokonce gesta.

Dlouhá cesta

Co by měl člověk dělat bez vývoje, jak se dnes praktikuje? Ne tak rychle, říká Gottschlich. Strojové programování vždy vyžaduje některá data ve formě kódu a profesionály, aby zvládli specializovanější aspekty programování. Rozdíl je však v tom, že miliony dalších lidí se pokusí vytvořit software – pokud vůbec, ještě více práce pro tradiční kodéry.

„Až bude programování strojů plně implementováno, věříme, že neodstraní pracovní místa, ale naopak vytvoří další – možná miliony,“ říká pan Gottschlich.

Automatizovaný vývoj softwaru podle týmu stojícího za MISIM je ještě daleko. Ale jako u mnoha inovací není příliš brzy přemýšlet o tom, jaké důsledky tato technologie může mít, ať už lepší nebo horší.

Laboratoře Intel a MIT zkoumají tyto filozofické a etické problémy při řešení technických výzev programování strojů. Již probíhají diskuse o zmírnění negativního používání této technologie – a vědci pravděpodobně v blízké budoucnosti nedojdou k diskusním tématům.

Botón volver arriba

Byl zjištěn blokovač reklam

Chcete-li nadále používat naši webovou stránku, musíte odstranit BLOKOVÁNÍ REKLAMY. DĚKUJEME